logo

Kako pretvoriti seznam v slovar v Pythonu?

V Pythonu je seznam zbirka elementov, ki so urejeni in spremenljivi, medtem ko je slovar zbirka parov ključ-vrednost, ki so neurejeni, spremenljivi in ​​indeksirani. Obstaja več načinov za pretvorbo seznama v slovar v Pythonu, odvisno od želenega para ključ-vrednost. Ta članek raziskuje različne metode za dosego te pretvorbe.

1. način: uporaba zanke

Eden najpreprostejših načinov za pretvorbo seznama v slovar je uporaba zanke. Ta metoda vam omogoča eksplicitno podajanje ključev in vrednosti. Tukaj je primer:

 # 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) 

Izhod:

 {0: 'apple', 1: 'banana', 2: 'cherry'} 

V tem primeru se funkcija enumerate() uporablja za ponavljanje po seznamu, hkrati pa sledi indeksu. Vsakemu elementu na seznamu je dodeljen edinstven indeks kot ključ v slovarju.

2. način: Uporaba zip()

Druga metoda za pretvorbo seznama v slovar je uporaba funkcije zip(). Ta funkcija združuje elemente iz več iterablev, kot so seznami, skupaj. Tukaj je primer:

 # 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) 

Izhod:

 {'apple': 1.0, 'banana': 0.5, 'cherry': 1.5} 

V tem primeru funkcija zip() združi vsako sadje z ustrezno ceno in tako ustvari par ključ-vrednost v slovarju.

3. način: Uporaba slovarskega razumevanja

Python ponuja tudi jedrnat način za pretvorbo seznama v slovar z uporabo slovarskega razumevanja. Ta metoda je še posebej uporabna, ko želite izvesti neko operacijo na elementih seznama. Tukaj je primer:

 # 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) 

Izhod:

 {'apple': 5, 'banana': 6, 'cherry': 6} 

V tem primeru razumevanje slovarja ustvari slovar, kjer je vsako sadje ključ, vrednost pa je dolžina imena sadeža.