Dicionários e listas são estruturas de dados fundamentais em Python, cada uma oferecendo vantagens únicas. Converter entre elas é uma tarefa comum, e este artigo explora métodos eficientes para transformar um dicionário Python em uma lista, atendendo a diversas necessidades.
Sumário
- Extraindo Chaves para uma Lista
- Extraindo Valores para uma Lista
- Convertendo para uma Lista de Pares Chave-Valor
- Usando List Comprehension para Flexibilidade
Extraindo Chaves para uma Lista
O método keys()
fornece uma maneira direta de obter uma lista de chaves de um dicionário. Ele retorna um objeto de visualização, eficientemente convertido em uma lista usando list()
.
my_dict = {"a": 1, "b": 2, "c": 3}
keys_list = list(my_dict.keys())
print(keys_list) # Saída: ['a', 'b', 'c']
Este método é eficiente e preserva a ordem das chaves (garantido a partir do Python 3.7).
Extraindo Valores para uma Lista
Similarmente, o método values()
extrai os valores do dicionário, facilmente convertidos em uma lista.
my_dict = {"a": 1, "b": 2, "c": 3}
values_list = list(my_dict.values())
print(values_list) # Saída: [1, 2, 3]
A lista resultante espelha a ordem das chaves (mantida a partir do Python 3.7+).
Convertendo para uma Lista de Pares Chave-Valor
Para reter tanto as chaves quanto os valores, use o método items()
. Isto retorna pares chave-valor como tuplas, prontamente convertidos em uma lista.
my_dict = {"a": 1, "b": 2, "c": 3}
items_list = list(my_dict.items())
print(items_list) # Saída: [('a', 1), ('b', 2), ('c', 3)]
Esta representação estruturada é ideal para processamento simultâneo de chave e valor.
Usando List Comprehension para Flexibilidade
List comprehension oferece uma abordagem concisa e poderosa, particularmente útil para transformações personalizadas.
my_dict = {"a": 1, "b": 2, "c": 3}
#Exemplo 1: Lista de pares chave-valor com valores modificados
modified_items = [(k, v*2) for k, v in my_dict.items()]
print(modified_items) #Saída: [('a', 2), ('b', 4), ('c', 6)]
#Exemplo 2: Lista de chaves onde os valores são maiores que 1
filtered_keys = [k for k, v in my_dict.items() if v > 1]
print(filtered_keys) #Saída: ['b', 'c']
List comprehension fornece flexibilidade para adaptar a conversão a requisitos específicos de processamento.
Python oferece múltiplos métodos eficientes para converter dicionários em listas, permitindo manipulação de estrutura de dados sem problemas. Selecionar a melhor abordagem depende do resultado desejado e da complexidade da transformação.