– O que é um iterable?
Até agora, sempre ao tratarmos de listas, tuplas, strings, dicionários nos referimos como estrutura de dados. No entanto, existe um conceito ( que aqui será explicado de forma mais simples) que define a características dessas estruturas.
Os iterables são estruturas que permitem iterações recorrentes com seus dados.
O que são essas iterações? Geralmente essas iterações são códigos que percorrem os dados de forma repetitiva. Usualmente usaremos o FOR ou WHILE.
Esse conceito é importante porque várias funções do python usam isso para explicar como as coisas funcionam.
É importante que ao ler o termo "iterable" você entenda o que estão falando: "é tipo uma lista de coisas que eu posso percorrer e fazer alguma ação com cada uma das coisas dentro dessa lista"
Vamos ver alguns Iterables já conhecidos:
LISTAS
produtos = ['iphone', 'samsung galaxy', 'tv samsung', 'ps5']
for produto in produtos:
print(produto)
____________________
iphone
samsung galaxy
tv samsung
ps5
TUPLAS
produtos = ('iphone', 'samsung galaxy', 'tv samsung', 'ps5')
for produto in produtos:
print(produto)
____________________
iphone
samsung galaxy
tv samsung
ps5
DICIONÁRIO
vendas_produtos = ('iphone':15000, 'samsung galaxy':12000, 'tv samsung':10000)
for produto in vendas_produtos:
#print(produto)
print('{}: {} unidades'.format(produto, vendas_produtos[produto]))
____________________
iphone: 15000 unidades
samsung galaxy: 12000 unidades
tv samsung: 10000 unidades
STRING
texto = 'joao lira'
for ch in texto:
print(ch)
___________
j
o
a
o
l
i
r
a
RANGE
#range com inicio e fim
print(range(1, 10))
#vamos olhar no for para entender
for i in range(2, 10):
print(i)
_____________
range(1, 10)
2
3
4
5
6
7
8
9
– Iterables – Range
Vamos falar agora de outro iterable, o RANGE(). Nós já
usamos ele anteriormente mas ainda não vimos a fundo
como ele funciona e como pode ser utilizado.
O Range será utilizado de 3 formas distintas:
• range(tamanho);
for i in range(5):
print(i)
_____________
0
1
2
3
4
5 corresponde ao Tamanho (nº de itens)
Iterações iniciam do ZERO e vão até 4 (n-1). Numero total de itens IGUAL ao valor indicado no parênteses
• range(início, fim);
for i in range(5,10):
print(i)
_____________
5
6
7
8
9
(5) Número que o FOR iniciará, (10) Número terminará o FOR (10 não incluso)
Iterações de +1 iniciando em 5 até 9(n-1).
• range(início, fim, passo);
for i in range(5,20,2):
print(i)
_____________
5
7
9
11
13
15
17
19
(5) Número que o FOR iniciará, (20) Número terminará o FOR (20 não incluso), (2) Passo: Aumento de 2 em 2
Iterações de +2 iniciando em 5 até 19(n-1).
– Iterables – Set
Um novo iterable que não vimos até agora é o SET.
Eles parecem bastante com listas, mas possuem
algumas particularidades:
• Não possuem uma ordem específica;
• Não aceitam valores repetidos;
• Usam {} como formato, mas não possuem CHAVE
set_produtos = {'arroz', 'feijao', 'macarrao', 'atum', 'azeite'}
print(set_produtos)
______________________
{'arroz', 'azeite', 'macarrao', 'atum', 'feijao'}
↖ Ordem diferente da escrita no código
set_produtos = {'arroz', 'feijao', 'macarrao', 'arroz', 'atum', 'azeite'}
print(set_produtos)
______________________
{'arroz', 'azeite', 'macarrao', 'atum', 'feijao'}
↖ Apenas 1 item ‘arroz’
cpf_clientes = ['762.196.080-97', '263.027.380-67', '827.363.930-40', '925.413.640-91', '870.565.160-33', '892.080.930-50', '462.126.030-81', '393.462.330-10', '393.462.330-10', '393.462.330-10', '988.305.810-11', '596.125.830-05', '596.125.830-05', '990.236.770-48']
print('São {} CPFs na lista.'.format(len(cpf_clientes))
set_cpf_clientes = set(cpf_clientes)
cpf_clientes_unicos = list(set_cpf_clientes)
print(cpf_clientes_unicos)
print('No entanto, temos {} clientes na loja'.format(len(set_cpf_clientes)))
______________________
São 14 CPFs na lista.
['762.196.080-97', '462.126.030-81', '393.462.330-10', '990.236.770-48', '892.080.930-50', '988.305.810-11', '263.027.380-67', '870.565.160-33', '596.125.830-05', '925.413.640-91', '827.363.930-40']
No entanto, temos 11 clientes na loja
↖ Todas as duplicatas foram removidas
Nenhum comentário:
Postar um comentário