Listas vs tuples vs conjuntos em Python
O Python tem três formas comuns de guardar vários valores juntos. Uma lista pode mudar e mantém a ordem, um tuple é um registo fixo e um conjunto esquece duplicados. Cada exemplo abaixo foi executado, e a saída mostrada é exata.
Listas: ordem, e podem mudar
Uma lista é a coleção predefinida: append acrescenta no fim, e um ciclo for percorre os itens por ordem. Usa uma lista quando o grupo for crescer ou encolher, como um inventário.
parts = ["wrench"]
parts.append("cable")
print(parts)Saída:
['wrench', 'cable']
Tuples: um registo fixo
Um tuple não se pode editar no sítio. Isso torna-o adequado para uma coordenada ou qualquer par que queiras desempacotar em dois nomes. Devolver dois valores de uma função também constrói um tuple.
point = (3, 4) x, y = point print(x) print(y)
Saída:
3 4
Conjuntos: itens únicos
Um conjunto deita fora duplicados e responde depressa a "isto está aqui?". O conjunto vazio é set(), porque {} é um dicionário vazio. set(needed) <= set(have) pergunta se cada item necessário já está presente.
needed = {"wrench", "cable"}
have = ["wrench", "cable", "chip", "wrench"]
print(needed <= set(have))Saída:
True
Perguntas comuns
- Posso usar um tuple como chave de dicionário?
- Sim, porque um tuple não pode mudar. Uma lista não pode ser chave. É uma razão para as coordenadas serem muitas vezes tuples.
- Como faço um conjunto vazio?
- Chama set(). Escrever {} dá-te um dicionário vazio.
- Quando escolho um conjunto em vez de uma lista?
- Quando duplicados não importam e te interessa a pertença, como "tenho cada peça desta receita?"