Baixe o app para aproveitar ainda mais
Prévia do material em texto
Strings, Listas, Tuplas e Dicionários .... O poder do Python!! INE 5201 – Python 3 Todos os três são sequências! • Podem ser indexados por algum valor ordinal posicional; • Todas as operações apresentadas aqui nesta seção podem ser aplicadas em todos os tipos de sequência. Strings s = “Hello World” s = ‘Hello World’ Listas lista = [ 1, 2, 3, ‘abc’] lista = [ ‘a’, ‘b’, ‘abc’, ‘bola’, ‘densidade’, ‘diâmetro’] lista = [ 50, 12, [1, 2, 3], 5] matriz = [[1,3,4] , [3,5,6] , [7,8,9]] Tuplas tupla = (23, ‘abc’, 4.56, (2,3), ‘def’) tupla = (1, 2, 3, ‘abc’, (1, 2, 3)) INE 5201 – Python 3 “xy” ‘xy‘ ‘‘‘multi ’’’ [x, y] (x, y) Strings, Listas e Tuplas: Manipulando sequências: • Pelo índice a partir de 0 Ex: lista[0] • Índices podem ser positivos ou negativos! Ex: ti[1] (esq.) ti[-4] (dir.) Fracionamento/fatiamento: • lista[1:3] • lista[1:] Operador in • retorna um booleano (True ou False). • verifica se um valor está em uma sequência! 4 in lista INE 5201 – Python 3 Strings, Listas e Tuplas: Strings INE 5201 – Python 3 “texto” ‘texto‘ ‘‘‘.... multi texto .........., .........., ..... multi linhas...., ...,. .. linhas e linhas, ..... ’’’ <class 'str'> 4.3 Operação com sequências - String Caracteres em uma string pode ser acessado utilizando o padrão a sintaxe <nome_da_lista>[índice]. Python usa indexação baseada em zero, então se a variável s é ‘Hello' a s[1] é 'e'. s = ‘Hello' s[1] -> 'e' s[-1] -> ‘o' Se o índice estiver fora dos limites para a string, Python gera um erro. INE 5201 – Python 3 4.3 Operação com sequências - String Manipulando a sequencia string: Fatiamento – s[início : fim] – inclui início e não inclui o fim; INE 5201 – Python 3 4.3 Operação com sequências - String String: Strings em Python são "imutáveis ", que significa que eles não podem ser alterados depois que elas são criadas. Umas vez que não podem ser alteradas, construímos *Novas* sequências para representar valores computados. INE 5201 – Python 3 4.3 Operação com sequências - String Manipulando novas sequências strings: INE 5201 – Python 3 4.3 Operação com sequências - String Manipulando novas sequências strings: INE 5201 – Python 3 4.3 Operação com sequências - String Métodos mais usados em strings: - find(), replace(), join(), split() - isdigit(), islower(), strip() - startswith(), upper(), lower() INE 5201 – Python 3 Uso dos métodos: str.método() Listas INE 5201 – Python 3 [1, 2, 3] [[1,2],[3,4]] [‘texto1’, ‘ab’, 1] 4.3 Operação com sequências - listas Python possui uma sintaxe consistente em relação as sequências: - A mesma sintaxe funciona para string, lista, tuplas, dicionários; Usamos os mesmo operadores básicos de string em listas; INE 5201 – Python 3 4.3 Operação com sequências - listas Operador + , * (listas ou string) a = [1, 2, 3] + [4, 5, 6] (concatenação) b = [3] * 4 (repetição) len() - retorna um inteiro com o tamanho da sequência! Métodos pop(), append() e insert() pop() - retira o último elemento da lista (conceito de pilhas!) append() - adiciona um elemento ao final da lista! insert(index, obj) – insere um objeto na lista na posição de offset do índice Atribuição lista[0] = 3 Fazendo cópias de sequência , cuidado!!! INE 5201 – Python 3 Uso dos métodos: list.método() 4.3 Operação com sequências - listas INE 5201 – Python 3 Qual será o valor de b ? >>> a = [1,2,3] >>> b = a >>> a.append(4) >>> print b 4.3 Operação com sequências - listas INE 5201 – Python 3 Qual será o valor de b ? >>> a = [1,2,3] >>> b = a >>> a.append(4) >>> print b >>> b = [1,2,3,4] Sequências do tipo listas e dicionários são mutáveis! 4.3 Operação com sequências - listas INE 5201 – Python 3 Sequências do tipo, listas e dicionários, são mutáveis! 4.3 Operação com sequencias - listas Manipulando a sequência lista: INE 5201 – Python 3 [1, 2, 3, 4, 5, 6] 0 1 2 3 4 5 -6 -5 -4 -3 -2 -1 4.3 Operação com sequências - listas INE 5201 – Python 3 Para fazer cópias de listas • a = b[:] (cópias independentes) • a = b (referenciam o mesmo objeto) Qual a diferença entre listas e tuplas ? Listas são mutáveis e Tuplas imutáveis! • lista = [1, ‘abc’, 4] • tupla = (1, ‘abc’, 4) Atribuição em listas e tuplas • lista[0] = 3 ok! • tupla[0] = 3 Não! (Deve-se criar uma nova tupla! - t = (3, ‘abc’, 4) 4.3 Operação com sequências - listas INE 5201 – Python 3 4.3 Operação com sequências - listas INE 5201 – Python 3 Métodos append() e pop() em listas: 4.3 Operação com sequências - listas INE 5201 – Python 3 Instrução del: 4.3 Operação com sequências - listas INE 5201 – Python 3 Métodos append() e pop() em listas: 4.3 Operação com sequências - listas INE 5201 – Python 3 Função sorted() em listas - ordenação: 4.3 Operação com sequências - listas INE 5201 – Python 3 Função sorted() em listas - ordenação: 4.3 Operação com sequências - listas INE 5201 – Python 3 Função sorted() em listas, customizado por você: ex 1: Digamos que você gostaria de ordenar (sorted) a lista por tamanho (len): 4.3 Operação com sequências - listas INE 5201 – Python 3 Função sorted() em listas, customizado por você: ex 2: Digamos que você queira ordenar (sorted) pelo último caractere: Note que antes foi definida uma função: 4.3 Operação com sequências - listas INE 5201 – Python 3 Função sorted() em listas: ex 2: Digamos que você queira ordenar (sorted) pela ordem reversa: 4.3 Operação com sequências - listas INE 5201 – Python 3 Como copiar uma lista ? Para copiar, utilize: 4.3 Operação com sequências - listas INE 5201 – Python 3 FOR e IN em listas FOR é extremamente útil em listas: IN também: 4.3 Operação com sequências - listas INE 5201 – Python 3 FOR e IN em listas 4.3 Operação com sequências - listas INE 5201 – Python 3 FOR e IN em listas 4.3 Operação com sequências - listas INE 5201 – Python 3 Lista de listas 4.3 Operação com sequências - listas INE 5201 – Python 3 http://docs.python.org/3.3/tutorial/datastructures.html Mais informações sobre estrutura de dados em Python 3 Lista de listas 4.3 Operação com sequências - listas INE 5201 – Python 3 Criando uma lista, adicionando elementos: 4.3 Operação com sequências - listas INE 5201 – Python 3 Função para criar uma lista, adicionando elementos: Tuplas INE 5201 – Python 3 (1, 2, 3) ((1,2),(3,4)) (‘texto1’, ‘ab’, 1) 4.3 Operação com sequências - tuplas Tuplas em Python é uma lista imutável ou uma sequência de valores imutáveis; Uma tupla é um agrupamento de elementos de tamanho fixo, tal como as co-ordenadas (x, y). A mesma sintaxe funciona para tuplas, lista, string e dicionários; INE 5201 – Python 3 4.3 Operação com sequências - tuplasAs tuplas (tuple) são como listas, exceto que eles são imutáveis e não alterar o tamanho (tuplas não são estritamente imutável, já que um dos elementos contidos poderia ser mutável). As tuplas são uma espécie de estrutura em Python - uma forma conveniente para passar em torno de um pacote pouco lógico, tamanho fixo de valores. Por exemplo, se fosse necessário ter uma lista de coordenadas 3D, a representação natural em python seria uma lista de tuplas, onde cada tupla teria o tamanho três, com os valores (x, y, z). INE 5201 – Python 3 4.3 Operação com sequências - tuplas Operador + INE 5201 – Python 3 4.3 Operação com sequências - tuplas Métodos e funções len() - retorna um inteiro com o tamanho da sequência! pop() - retira o último elemento da lista (conceito de pilhas!) append() - adiciona um elemento ao final da tupla! sorted() – ordena os elementos INE 5201 – Python 3 4.3 Operação com sequências - tuplas Métodos e funções len() - retorna um inteiro com o tamanho da sequência! pop() - retira o último elemento da lista de tuplas (conceito de pilhas!) INE 5201 – Python 3 Lista de tuplas Tuplas 4.3 Operação com sequências - tuplas Métodos e funções append() - adiciona um elemento ao final da lista de tupla! INE 5201 – Python 3 Lista de tuplas Tuplas 4.3 Operação com sequências - tuplas Métodos e funções sorted() – ordena os elementos (1°, 2° ….) INE 5201 – Python 3 Dicionário INE 5201 – Python 3 {‘chave’: valor} {‘key1’: value1, ‘key2’: value2} Hash Table 4.3 Operação com sequências - dicionário Uma estrutura de dados eficiente {chave: valor} de uma hash table é chamado de “dict“ ou dicionário. O conteúdo de um dicionário pode ser escrito como uma série de pares {chave: valor} dentro de chaves { }, por exemplo, dict = {key1: valor1 , key2: valor2 , ... }. A criação de um dicionário vazio é apenas referenciado com um par vazio de chaves {}; INE 5201 – Python 3 4.3 Operação com sequências - dicionário Para definir ou procurar um valor em um dicionário utiliza-se colchetes []. Para criar um dicionário utiliza-se chaves {}. INE 5201 – Python 3 cria dicionário com chaves { } cria pares de chave: valor com colchetes [ ] procura pelo valor através da chave Muito rápido – mesmo para dicionários muito grandes – com milhões de keys 4.3 Operação com sequências - dicionário INE 5201 – Python 3 6 4.3 Operação com sequências - dicionário INE 5201 – Python 3 6 key não existente Sugestão: uso do método dic.get(): Uso: dicionario.get() Retorna None em caso de não encontrar a key e não um erro. 4.3 Operação com sequências - dicionário INE 5201 – Python 3 6 Métodos – get(), keys(), values(), items() 4.3 Operação com sequências - dicionário INE 5201 – Python 3 6 Obtendo as –keys– com um loop for: Da mesma maneira: 4.3 Operação com sequências - dicionário INE 5201 – Python 3 6 Obtendo os –values– com loop for: 4.3 Operação com sequências - dicionário INE 5201 – Python 3 Ordenando as saídas – sorted(): 4.3 Operação com sequências - dicionário INE 5201 – Python 3 Ordenando as saídas – sorted(): items(): 4.3 Operação com sequências - dicionário INE 5201 – Python 3 Mais loops: 4.3 Operação com sequências - dicionário INE 5201 – Python 3 Usando o método .format() para atribuir nomes à chaves de forma automática em um loop: str.format() Set INE 5201 – Python 3 set() 4.3 Operação com sequências - set INE 5201 – Python 3 • Python também inclui uma outra classe de dados chamada de set. • Set é uma sequencia não-ordenada, sem elementos duplicados. • Os usos básicos, incluem testar elementos quanto a semelhança e eliminar entradas duplicadas. • O objeto set também suporta operações matemáticas como união, intersecção, diferença e diferença simétrica. 4.3 Operação com sequências - set INE 5201 – Python 3 • Para criar um conjunto vazio de dados do tipo set(); • Para criar um set: Elementos não duplicados 4.3 Operação com sequências - set INE 5201 – Python 3 • Operações com o set():
Compartilhar