V Pythone je zoznam kolekciou prvkov, ktoré sú usporiadané a meniteľné, zatiaľ čo slovník je kolekciou párov kľúč-hodnota, ktoré sú neusporiadané, meniteľné a indexované. Existuje niekoľko spôsobov, ako previesť zoznam na slovník v Pythone, v závislosti od požadovaného páru kľúč – hodnota. Tento článok skúma rôzne metódy na dosiahnutie tejto konverzie.
Metóda 1: Použitie slučky
Jedným z najjednoduchších spôsobov prevodu zoznamu na slovník je použitie slučky. Táto metóda vám umožňuje explicitne špecifikovať kľúče a hodnoty. Tu je príklad:
# 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)
Výkon:
{0: 'apple', 1: 'banana', 2: 'cherry'}
V tomto príklade sa funkcia enumerate() používa na iteráciu zoznamu a zároveň na sledovanie indexu. Každému prvku v zozname je priradený jedinečný index ako kľúč v slovníku.
Metóda 2: Použitie zip()
Ďalšou metódou na konverziu zoznamu na slovník je použitie funkcie zip(). Táto funkcia spája prvky z viacerých iterovateľných prvkov, ako sú napríklad zoznamy. Tu je príklad:
# 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)
Výkon:
sémantickej chyby
{'apple': 1.0, 'banana': 0.5, 'cherry': 1.5}
V tomto príklade funkcia zip() spáruje každé ovocie s jeho zodpovedajúcou cenou, čím v slovníku vytvorí pár kľúč – hodnota.
Metóda 3: Použitie slovníkového porozumenia
Python tiež poskytuje stručný spôsob, ako previesť zoznam na slovník pomocou porozumenia slovníka. Táto metóda je užitočná najmä vtedy, keď chcete vykonať nejakú operáciu s prvkami zoznamu. Tu je príklad:
# 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)
Výkon:
{'apple': 5, 'banana': 6, 'cherry': 6}
V tomto príklade porozumenie slovníka vytvorí slovník, kde každé ovocie je kľúčom a hodnota je dĺžka názvu ovocia.