Salve,
Para a nossa reunião de amanhã, dia 22/06 de madrugada, por favor, procurem rever:
- esta simulação sobre listas
- esta outra simulação mostra uma lista como parâmetro de muma função que cria uma lista e
- tem ainda mais esta simulação com o comando `for … in range(início, fim, passo)
Procurem ainda lembrar que:
- variáveis são apelidos/nomes que damos a coisas que necessitaremos mais tarde
- atribuições apenas definem ou modificam apelidos, não criam coisas
Esses observações serão absolutamente cruciais no restante de MAC0110 e do início ao fim de MAC0122 e para sempre.
Por fim, na seção Exercícios da página de MAC0110 há exercícios que tratam de listas.
até amanhã,
hitoshi e coelho
Aqui vai um resumo do que vimos de novo na semana passada
Compacto dos melhores momentos das últimas reuniões
Tratamos de listas, coisas que são tipo list
. Listas em computação são coisas que em matemática as pessoas chamariam de sequências finitas. Até agora vimos em Python coisas dos tipos abaixo
tipo | exemplos de valores |
---|---|
str |
“Bom dia!”, ‘Como é bom estudar MAC0110!’ |
int |
…, -3 , -2 , -1 , 0 , 1 , 2 , 3 ,… |
float |
3.1415926 , 2.718281828459045 , 1e-6 |
bool |
True e False |
NoneType |
None |
list |
[-1, 2, 14], [True, None, ‘oi’, 3.14, 14] |
Criar uma lista
# criar uma lista com 2, 3, 5, 7, 11, 13 alguns_primos = [2, 3, 5, 7, 11, 13] # criar a lista [0, 1, 2, ..., n-1] com operador + crescente = [] # lista vazia i = 0 while i < n: crescente = crescente + [i] # operador concatenação i += 1 # criar uma lista n uns com operador * uns = n * [1] # o mesmo que [1] + [1] + ... + [1] n vezes # criar uma lista k zeros zeros = [0] * k # o mesmo que [0] + [0] + ... + [0] k vezes # criar a lista [n-1, n-2, n-3, ..., 1, 0] com operador + decrescente = [] i = 0 while i < n: decrescente = [i] + descrescente # operador concatenação i += 1
Comprimento de uma lista
A função len()
nos fornece o número de elementos de uma lista. Usando a listas criadas anteriormente.
x = len([]) # x é apelido para 0 a = len(alguns_primo) # a é apelido para 6 b = len(crescente) # b é apelido como n c = len(uns) # c é apelido como n d = len(zeros) # d é apelido como k e = len(decrescente) # e é apelido como n
Acessar os elementos de uma lista
Lembre-se que variáveis são nomes ou apelidos que damos a valores. Um mesmo valor por ter vários apelidos:
i = 27 j = i
Agora 27
pode ser chamado de 27
, i
ou j
.
Podemos usar o operador indexação []
para acessar os elementos de uma lista. Em matemática as pessoas usam índices subscritos x
0
, x
1
, x
27
. Em Python escrevemos x[0]
, x[1], x[27]
. O índice do primeiro elemento de uma lista é zero.
Considere a lista
lst = [True, 5, [2, None], 3.14]
Ums ilustração dessa lista é
lst[1] lst[2][0] lst[3] | | | | +-------+ +-------+ | | | V V V lst --> [True, 5, [2, None], 3.14] A A A | | | | | +---------+ | | | lst[0] lst[2] lst[2][1] len(lista) = 4 len(lista[2]) = 2
Temos que
lst[0] # é True lst[1] # é apelido para 5 lst[2] # é apelido para [2, None] lst[3] # é apelido para 3.14 lst[4] # ERRO lst[2][0] # é apelido para 2 lst[2][1] # é apelido para None lst[3][0] # ERRO
Comando for ... in range(inicio, fim, passo)
var = início
while var < fim:
|
| executa bloco com var = início, início+passo
| início+2*passo,...,... até
| fim (EXCLUSIVE)
|
var += passo
tem o mesmo efeito que
for var in range(início, fim, passo):
|
| executa bloco com var = início, início+passo
| início+2*passo,...,... até
| fim (EXCLUSIVE)
Percorrer uma lista
# de 0 a n-1 n = len(lst) i = 0 while i < n: print(f"{lst[i]}", end=" ") i += 1 # de 0 a n-1 for i in range(0, n, 1): print(f"{lst[i]}", end=" ") # de n-1 a 0 n = len(lst) i = n-1 while i > -1: print(f"{lst[i]}", end=" ") i -= 1 # de n-1 a 0 for i in range(n-1, -1, -1): print(f"{lst[i]}", end=" ")