Prof. Natalia Castro Fernandes
Engenharia de Telecomunicações – UFF
2º semestre/2012
Relembrando...
 Tipos primitivos


Simples (int, long, float, complex, string)
Compostos
 Listas
 Dicionários
 Tuplas
 Conjuntos
 Definidos pelo usuário
 Classes
Listas
 Estrutura para armazenar uma sequência de elementos
 Em Python:
 Usadas para representar sequências
 Usadas para criar matrizes
 Acesso sequêncial e direto por meio de índices
 Podem ser criadas com qualquer tipo de elemento
 Operações semelhantes às das strings




Indexação
Fatiamento
Concatenação (+)
Repetição (*)
Atenção: Listas permitem que elementos
indexados sejam modificados, mas strings
não permitem essa operação.
Listas
 Lista vazia
 A= []
 Lista com inteiros
 A = [1,2,3]
 Lista com elementos genéricos (inclusive outras listas)
 A = [1, 'a', 2+3j, ['ab', 'CD']]
Acesso aos elementos da lista
 1º elemento: 0
 Último elemento: -1
 Lista = [1,2,3,4]
Inserindo elementos em listas
 Não é permitido colocar um elemento em uma posição
não existente
 A lista deve ser inicializada com as posições que serão
necessárias
 Existem funções específicas para inserir novas posições
na lista
Inserindo elementos em listas
Concatenação e repetição
 L1 = [‘a’, ‘b’]
 L2 = [1,2]
 L1+L2 = [‘a’, ‘b’, 1, 2]
 L2+L1 = [1, 2, ‘a’, ‘b’]
 L2*3 = [1, 2, 1, 2, 1, 2]
 Criando lista de ‘0’s: [0]*5 = [0, 0, 0, 0, 0]
Operações em listas
 Deletar um elemento
Exercício
 Na lista a seguir:
 L = [1,2,3,[‘a’, ‘b’, ‘c’],4, [5,6]]
Retire o elemento ‘3’
2. Retire o elemento ‘b’
3. Retire a lista [5,6]
4. Troque o elemento 2 pela lista [1,2,3]
1.
Fatiamento
 Obter ou atribuir um valor a uma parte de uma lista
Fatiamento
 Fatiamento com espaçamento
 Valor do espaçamento definido após o intervalo
Atribuição de valores
 As variáveis list criam referências
 Semelhante a ideia de ponteiros
 Atribuir uma lista a outra cria uma referência e não uma
nova lista
Atribuição de valores
 Operador is indica se duas listas são a mesma ou são
diferentes espaços da memória
 Uso:

Lista1 is Lista2
 Resposta:

True ou False
Verificação de presença
 Operador in
 Verifica se um elemento pertence a uma lista ou a uma
string
Funções úteis
 len(lista)
 Retorna o número de elementos na lista
 min(lista)
 Retorna o menor valor da lista
 max(lista)
 Retorna o maior valor da lista
 list(string)
 Transforma a string em uma lista
Funções úteis
 range(inicio, parada, incremento)
 Gera uma PA com inicio em inicio, limite em parada e
razão incremento
 inicio vale, por padrão,0, e incremento, 1
Comando for
 Permite iterar sobre os elementos de uma lista
 Formato:
 for variavel in lista:
ações
 Gera um laço com um número de iterações igual ao
tamanho da lista
 Em cada iteração, o valor de variável recebe um item da
lista
Comando for
Classe list
 As listas criadas anteriormente são objetos da classe list
 Métodos da classe list
 Usados como objeto.método()
 Exemplos:





Lista.reverse()  Inverte ordem de elementos
Lista.append(elemento)  Insere elemento no fim da lista
Lista.count(elemento)  Retorna quantas vezes o elemento aparece
na lista
Lista.extend(Lista2)Insere elementos de Lista2 no final de Lista1
Lista.index(elemento) Retorna o índice da primeira ocorrência de
elemento; Erro, caso o elemento não exista
Classe list




Lista.insert(índice, elemento)  insere o elemento na posição
indicada por índice
Lista.pop(índice)  Remove da lista o elemento de índice e o
retorna; Se índice for omitido (pop() ), então assume-se o
último elemento
Lista.remove(elemento)  Remove primeira aparição de
elemento da Lista; Erro, caso elemento não exista
Lista.sort()  Ordena os elementos de uma lista
Matrizes
A= abc
def
ghi
A = [ [a b c],
[d e f],
[g h i]]
 Mas como construir as matrizes?
 Estaticamente

M = [[1,2,3],[4,5,6],[7,8,9]]
 Matriz de tamanho m x n qualquer?
Matrizes
 Uma ideia seria:
 M = [[None]*n]*m
 Exercício: Tente criar uma matriz dessa forma e tente
atribuir valor a um elemento dessa matriz.
Qual o problema?
Matrizes
 L = [0]*3
 M = L*3 ≠ M = [L]*3
 Forma para criar matrizes genéricas:
 M = []
 for i in range(m):

M.append([0]*n)
 Exercício:
 Crie uma matriz 5x4 e atribua valor ao elemento a11.
Exercício
 Faça um programa que faça a multiplicação de
matrizes. As matrizes podem ter tamanhos arbitrários
e serão digitadas no início do script.
Download

Listas