Pythonissa luettelo on kokoelma elementtejä, jotka ovat järjestettyjä ja vaihdettavia, kun taas sanakirja on kokoelma avainarvopareja, jotka ovat järjestämättömiä, muutettavissa ja indeksoituja. Pythonissa on useita tapoja muuntaa luettelo sanakirjaksi halutusta avain-arvo-parista riippuen. Tässä artikkelissa tarkastellaan erilaisia menetelmiä tämän muunnoksen saavuttamiseksi.
Tapa 1: Silmukan käyttäminen
Yksi yksinkertaisimmista tavoista muuntaa luettelo sanakirjaksi on käyttää silmukkaa. Tämän menetelmän avulla voit määrittää avaimet ja arvot yksiselitteisesti. Tässä on esimerkki:
# 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)
Lähtö:
{0: 'apple', 1: 'banana', 2: 'cherry'}
Tässä esimerkissä enumerate()-funktiota käytetään iteroimaan luetteloa samalla kun seurataan indeksiä. Jokaiselle luettelon elementille on määritetty ainutkertainen indeksi sanakirjan avaimeksi.
Tapa 2: zip()
Toinen tapa muuntaa luettelo sanakirjaksi on käyttää zip()-funktiota. Tämä toiminto yhdistää elementit useista iteroitavista, kuten luetteloista. Tässä on esimerkki:
# 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)
Lähtö:
{'apple': 1.0, 'banana': 0.5, 'cherry': 1.5}
Tässä esimerkissä zip()-funktio yhdistää jokaisen hedelmän sitä vastaavaan hintaan ja luo sanakirjaan avainarvoparin.
Tapa 3: Sanakirjan ymmärtäminen
Python tarjoaa myös tiiviin tavan muuntaa luettelo sanakirjaksi sanakirjan ymmärtämisen avulla. Tämä menetelmä on erityisen hyödyllinen, kun haluat suorittaa jonkin toiminnon luettelon elementeille. Tässä on esimerkki:
# 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)
Lähtö:
{'apple': 5, 'banana': 6, 'cherry': 6}
Tässä esimerkissä sanakirjan ymmärtäminen luo sanakirjan, jossa jokainen hedelmä on avain ja arvo on hedelmän nimen pituus.