1 / 25

Listas

Listas. 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.

Download Presentation

Listas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Listas Prof. Natalia Castro Fernandes Engenharia de Telecomunicações – UFF 2º semestre/2012

  2. Relembrando... • Tipos primitivos • Simples (int, long, float, complex, string) • Compostos • Listas • Dicionários • Tuplas • Conjuntos • Definidos pelo usuário • Classes

  3. 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.

  4. 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']]

  5. Acesso aos elementos da lista • 1º elemento: 0 • Último elemento: -1 • Lista = [1,2,3,4]

  6. 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

  7. Inserindo elementos em listas

  8. 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]

  9. Operações em listas • Deletar um elemento

  10. Exercício • Na lista a seguir: • L = [1,2,3,[‘a’, ‘b’, ‘c’],4, [5,6]] • Retire o elemento ‘3’ • Retire o elemento ‘b’ • Retire a lista [5,6] • Troque o elemento 2 pela lista [1,2,3]

  11. Fatiamento • Obter ou atribuir um valor a uma parte de uma lista

  12. Fatiamento • Fatiamento com espaçamento • Valor do espaçamento definido após o intervalo

  13. 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

  14. 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

  15. Verificação de presença • Operador in • Verifica se um elemento pertence a uma lista ou a uma string

  16. 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

  17. 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

  18. 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

  19. Comando for

  20. 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

  21. 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

  22. Matrizes • Mas como construir as matrizes? • Estaticamente • M = [[1,2,3],[4,5,6],[7,8,9]] • Matriz de tamanho m x n qualquer? A = a b c d e f g h i A = [ [a b c], [d e f], [g h i]]

  23. 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?

  24. 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.

  25. 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.

More Related