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.