Przekształcanie listy w strukturę słownikową w języku Python nie stanowi skomplikowanego zadania.
Przyjrzyjmy się różnym metodom, które umożliwiają konwersję listy do słownika.
Wprowadzenie
Zanim zagłębimy się w instrukcję krok po kroku, przeanalizujmy przykład, jak dokonać transformacji listy w słownik. Załóżmy, że dysponujemy listą zawierającą krotki (gdzie każda krotka składa się z dwóch elementów), lub po prostu listą elementów. W obu przypadkach, celem jest przekształcenie tych danych wejściowych w słowniki.
Przykłady:
W pierwszym przypadku mamy do czynienia z listą krotek, którą chcemy zamienić na słownik. W tym scenariuszu pierwszy element każdej krotki staje się kluczem, a drugi element – wartością w tworzonym słowniku.
Dane wejściowe: lista_jeden = [(‘a’, ‘A’), (‘b’, ‘B’), (‘c’, ‘C’)]
Wynik: {’a’: 'A’, 'b’: 'B’, 'c’: 'C’}
W drugim przykładzie startujemy z listą pojedynczych elementów, którą transformujemy w słownik poprzez przypisanie im naprzemiennych ról klucza i wartości. Jeżeli lista posiada nieparzystą liczbę elementów, ostatniemu z nich przypisujemy domyślną wartość null jako wartość w słowniku.
Dane wejściowe: lista_jeden = [‘a’, ‘A’, ‘b’, ‘B’, ‘c’, ‘C’, ‘d’]
Wynik: {’a’: 'A’, 'b’: 'B’, 'c’: 'C’, 'd’: None}
Poznaliśmy już cel tego poradnika. Teraz omówimy oba te przykłady, prezentując różne techniki. Zacznijmy od pierwszego z nich.
Konwersja Listy Krotek w Słownik
Spójrzmy, w jaki sposób można przekształcić listę krotek w słownik. Zachęcamy do samodzielnego napisania kodu, podążając za poniższymi instrukcjami.
- Rozpocznij od zainicjowania listy krotek, używając fikcyjnych danych, analogicznie do wspomnianych przykładów (upewniając się, że każda krotka na liście zawiera dokładnie dwa elementy).
- Przekaż utworzoną listę krotek jako argument do funkcji dict i przypisz wynik do nowej zmiennej.
- To wszystko! Dokonaliśmy konwersji listy krotek na słownik przy użyciu tylko jednej linijki kodu.
# lista krotek lista_krotek = [('a', 'A'), ('b', 'B'), ('c', 'C')] # transformacja do słownika slownik_z_krotek = dict(lista_krotek) # wyświetlenie uzyskanego słownika print(slownik_z_krotek)
Możesz przetestować działanie tego kodu, uruchamiając go. Powinieneś otrzymać wynik zgodny z przykładami.
Konwersja Zwykłej Listy w Słownik
Dowiedzieliśmy się już, jak przekonwertować listę krotek na słownik – co w Pythonie jest dość prostą operacją. W tej części przyjrzymy się, jak przekształcić zwykłą listę w strukturę słownikową.
Aby lepiej zrozumieć ten proces, odwołajmy się do drugiego przykładu z sekcji wprowadzającej tego poradnika.
Wykonaj poniższe kroki, aby napisać kod dla drugiego scenariusza.
Ustawiamy domyślną wartość None dla elementu, który nie ma odpowiadającej mu wartości (w przypadku listy o nieparzystej liczbie elementów). Aby to osiągnąć, posłużymy się funkcją o nazwie zip_longest, pochodzącą z modułu itertools.
- Na początku zaimportuj moduł itertools i zainicjuj listę o nieparzystej liczbie elementów, analogicznie jak w przytoczonych przykładach.
- Przekształć listę w obiekt iterowalny, co pozwoli uniknąć powtarzania par klucz-wartość w funkcji zip_longest.
- Następnie przekaż iterowalny obiekt do funkcji zip_longest, określając wartość fillvalue jako None. Spowoduje to zwrócenie obiektu typu zip.
- Należy przekazać ten sam obiekt iterowalny dwukrotnie, ponieważ funkcja pobiera klucz i wartość z dwóch różnych iteracji. W naszym przypadku zarówno klucze, jak i wartości znajdują się w obrębie tego samego obiektu iterowalnego. Z tego powodu musimy przekazać go dwa razy, a dopiero potem wartość fillvalue.
- Przekonwertuj uzyskany obiekt na słownik Pythona za pomocą funkcji dict.
- Na końcu wydrukuj wynikowy słownik.
# zaimportowanie modułu import itertools # zwykła lista o nieparzystej liczbie elementów zwykla_lista = ['a', 'A', 'b', 'B', 'c', 'C', 'd'] # konwersja do obiektu iterowalnego lista_iterowalna = iter(zwykla_lista) # przekształcenie zwykłej listy w słownik slownik_z_listy_object = itertools.zip_longest(lista_iterowalna, lista_iterowalna, fillvalue=None) # transformacja obiektu zip_longest do słownika z użyciem `dict` slownik_z_listy = dict(slownik_z_listy_object) # wyświetlenie słownika print(slownik_z_listy)
Wartość fillvalue można dostosować według potrzeb. Zachęcamy do eksperymentowania z różnymi wartościami i przetestowania kodu, aby sprawdzić, czy otrzymane wyniki są zgodne z oczekiwanymi.
Podsumowanie
Mam nadzieję, że proces konwersji listy w słownik przypadł Ci do gustu. Do zobaczenia w kolejnym poradniku.
Następnie dowiedz się, jak spłaszczyć listę w języku Python.
Udanego kodowania 🙂
Spodobał Ci się ten artykuł? Podziel się nim ze znajomymi!
newsblog.pl