Python Convert List to Dictionary: A Complete Guide

paź 17, 2021
admin

Możesz przekonwertować listę Pythona na słownik za pomocą comprehension dictionary, dict.fromkeys(), lub metody zip(). Wszystkie trzy metody tworzą nowy słownik. Nie modyfikują one istniejącej listy.

Pythonowe listy i słowniki to dwie struktury używane do przechowywania danych. Ale co zrobić, jeśli chcesz przekonwertować listę na słownik? Możesz chcieć to zrobić, jeśli chcesz przypisać unikalną etykietę do każdej przechowywanej wartości. Jest to możliwe tylko w słowniku.

Istnieje kilka technik i wbudowanych funkcji, których można użyć w Pythonie, aby przekonwertować listę na słownik. Ten samouczek programowania omówi na przykładach, jak przekonwertować listę na słownik w Pythonie.

Listy i słowniki Pythona

Listy i słowniki są przykładami kolekcji Pythona. Pozwalają one na przechowywanie wielu podobnych wartości w jednej strukturze danych.

form-.submission
Find Your Bootcamp Match
  • Career Karma matches you with top tech bootcamps
  • Get exclusive scholarships and prep courses

Struktura danych listy umożliwia przechowywanie danych w określonej kolejności. Oto przykład listy w języku Python:

takeout_prices = 

Nasza lista o nazwie takeout_prices zawiera cztery wartości.

Słowniki, z drugiej strony, są nieuporządkowane i nie mogą przechowywać wielu zduplikowanych wartości.

Oto przykład słownika w języku Python:

takeout_prices = {'single_chips': 2.50,'large_chips': 2.75,'single_fish': 4.50,'large_fish': 5.00}

Słowniki są przydatne, jeśli chcesz przypisać etykiety do każdej wartości. Listy są lepsze, jeśli przechowujesz podobne dane, takie jak lista cen lub nazwisk, gdzie nie można przypisać etykiet do każdej wartości.

Python Konwertowanie listy na słownik

Listę w Pythonie można przekonwertować na słownik za pomocą metody dict.fromkeys(), zrozumienia słownika lub metody zip(). Metoda zip() jest przydatna, jeśli chcesz połączyć dwie listy w słownik.

Szybko podsumujmy te metody:

  • dict.fromkeys(): Służy do tworzenia słownika z listy. Możesz opcjonalnie ustawić wartość domyślną dla wszystkich kluczy. Nie można ustawić indywidualnych wartości dla każdego elementu w słowniku.
  • Zrozumienie słownika: Tworzy nowy słownik z istniejącej listy. Można określić różne wartości dla każdego klucza w słowniku. Zrozumienie słownika jest podobne w strukturze do zrozumienia listy w Pythonie.
  • zapnij(): Konwertuje dwie lub więcej list na listę tupli. Możesz użyć metody dict(), aby przekształcić listę krotek w słownik.

Użyjemy każdej z trzech powyższych metod, aby zademonstrować, jak możemy przekształcić listę w słownik.

Python Convert List to Dictionary: dict.fromkeys()

Powiedzmy, że mamy listę owoców, którą chcemy przekształcić w słownik. Wartość przypisana do każdego owocu powinna być In stock:

fruits = 

Możemy stworzyć ten słownik używając metody dict.fromkeys(). Metoda ta przyjmuje listę kluczy, które chcemy zamienić w słownik. Opcjonalnie możesz określić wartość, którą chcesz przypisać do każdego klucza.

Możesz określić tylko jedną wartość, która ma być przypisana do każdego klucza. Nie można powiedzieć, że jeden klucz powinien mieć jedną wartość, a inny klucz powinien mieć inną wartość.

Zamieńmy naszą listę owoców w słownik:

fruits = fruit_dictionary = dict.fromkeys(fruits, "In stock")print(fruit_dictionary)

Nasz kod zwraca obiekty z tej listy w obiekcie słownika:

{'Apple': 'In stock', 'Pear': 'In stock', 'Peach': 'In stock', 'Banana': 'In stock'}

Na początku deklarujemy zmienną Pythona o nazwie fruits, która przechowuje nazwy kluczy, których chcemy użyć w naszym słowniku.

Używamy metody dict.fromkeys(), aby utworzyć słownik wykorzystujący nazwy kluczy, które przechowujemy w tablicy fruits. Metoda ta przypisuje każdemu z kluczy wartość In stock. Na koniec wypisujemy nowy słownik na konsolę.

Gdybyśmy nie podali w naszym kodzie wartości In stock, domyślną wartością dla kluczy w naszym słowniku byłby None.

Konwersja listy do słownika Python: Dictionary Comprehension

Możemy również użyć techniki zwanej dictionary comprehension, aby przekonwertować listę Pythona na słownik przy użyciu tych samych wartości.

Słownikowe comprehension jest podobne do list comprehension w tym, że obie metody tworzą nową wartość odpowiednich typów danych. Zrozumienia słownikowe używają nawiasów spiczastych ({}), podczas gdy zrozumienia listowe używają nawiasów kwadratowych ().

Przekształćmy naszą listę owoców w słownik za pomocą zrozumienia słownikowego:

fruits = fruit_dictionary = { fruit : "In stock" for fruit in fruits }print(fruit_dictionary)

Nasz kod zwraca:

{'Apple': 'In stock', 'Pear': 'In stock', 'Peach': 'In stock', 'Banana': 'In stock'}

Początkowo zadeklarowaliśmy listę o nazwie fruits, która przechowuje nazwy, które chcemy przenieść do słownika.

Następnie użyliśmy zrozumienia słownikowego, aby przejść przez każdy element listy owoców. Dodaliśmy element do naszego nowego słownika dla każdego owocu na naszej liście. Wartość, którą przypisaliśmy do każdego owocu to In stock. Na koniec wydrukowaliśmy nasz nowy słownik na konsolę.

Python Convert List to Dictionary: zip()

W naszym ostatnim przykładzie, przekonwertowaliśmy pojedynczą listę na słownik i przypisaliśmy domyślną wartość dla każdego elementu w słowniku. Możliwe jest jednak przekształcenie dwóch list w słownik.

Aby to zrobić, możemy skorzystać z pythonowskiej funkcji zip(). Funkcja ta pozwala nam połączyć ze sobą dwie listy. Możemy użyć jednej listy jako kluczy słownika, a drugiej jako wartości.

Załóżmy, że mamy dwie listy: jedną zawierającą listę owoców, a drugą zawierającą cenę pojedynczego owocu. Chcemy stworzyć jeden słownik, który będzie przechowywał nazwę owocu wraz z jego ceną. Do wykonania tego zadania możemy użyć następującego kodu:

fruits = prices = fruit_dictionary = dict(zip(fruits, prices))print(fruit_dictionary)

Nasz kod zwraca:

{'Apple': 0.35, 'Pear': 0.4, 'Peach': 0.4, 'Banana': 0.28}

Najpierw podaliśmy dwie listy: listę owoców i listę cen. Następnie użyliśmy funkcji zip(), aby połączyć nasze dwie listy razem. Funkcja zip() zwraca listę połączonych tupli. Ponieważ chcemy mieć słownik, użyliśmy funkcji dict() do przekonwertowania naszych krotek na słownik.

Następnie wypisaliśmy zawartość naszego nowego słownika na konsolę.

Wniosek

Aby przekonwertować listę na słownik przy użyciu tych samych wartości, możesz użyć metody dict.fromkeys(). Aby przekształcić dwie listy w jeden słownik, można użyć funkcji zip() Pythona. Zrozumienie słownika pozwala utworzyć nowy słownik na podstawie wartości z listy.

W tym poradniku użyliśmy przykładów, aby zademonstrować, jak używać trzech podejść do konwersji listy na słownik w Pythonie. Teraz jesteś gotowy, aby zacząć konwertować listy Pythona na słowniki jak profesjonalny programista!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.