A Python, una llista és una col·lecció d'elements ordenats i canviables, mentre que un diccionari és una col·lecció de parells clau-valor que no estan ordenats, canviables i indexats. Hi ha diverses maneres de convertir una llista en un diccionari a Python, depenent de l'aparellament clau-valor desitjat. Aquest article explora diversos mètodes per aconseguir aquesta conversió.
Mètode 1: Ús d'un bucle
Una de les maneres més senzilles de convertir una llista en un diccionari és mitjançant un bucle. Aquest mètode us permet especificar les claus i els valors de manera explícita. Aquí teniu un exemple:
# List of fruits fruits = ['apple', 'banana', 'cherry'] # Initialize an empty dictionary fruit_dict = {} # Populate the dictionary using a loop for idx, fruit in enumerate(fruits): fruit_dict[idx] = fruit print(fruit_dict)
Sortida:
{0: 'apple', 1: 'banana', 2: 'cherry'}
En aquest exemple, la funció enumerate() s'utilitza per iterar per la llista alhora que es fa un seguiment de l'índex. A cada element de la llista se li assigna un índex únic com a clau del diccionari.
Mètode 2: utilitzant zip()
Un altre mètode per convertir una llista en un diccionari és utilitzar la funció zip(). Aquesta funció combina elements de múltiples iterables, com ara llistes, junts. Aquí teniu un exemple:
# List of fruits and their prices fruits = ['apple', 'banana', 'cherry'] prices = [1.00, 0.50, 1.50] # Convert lists to a dictionary using zip() fruit_dict = dict(zip(fruits, prices)) print(fruit_dict)
Sortida:
{'apple': 1.0, 'banana': 0.5, 'cherry': 1.5}
En aquest exemple, la funció zip() emparella cada fruita amb el seu preu corresponent, creant una parella clau-valor al diccionari.
Mètode 3: Ús de la comprensió del diccionari
Python també proporciona una manera concisa de convertir una llista en un diccionari mitjançant la comprensió del diccionari. Aquest mètode és especialment útil quan es vol realitzar alguna operació sobre els elements de la llista. Aquí teniu un exemple:
# List of fruits fruits = ['apple', 'banana', 'cherry'] # Convert list to a dictionary using dictionary comprehension fruit_dict = {fruit: len(fruit) for fruit in fruits} print(fruit_dict)
Sortida:
{'apple': 5, 'banana': 6, 'cherry': 6}
En aquest exemple, la comprensió del diccionari crea un diccionari on cada fruita és una clau i el valor és la longitud del nom de la fruita.