Mając listę, napisz program w Pythonie, który przekonwertuje daną listę na słownik w taki sposób, aby wszystkie elementy nieparzyste miały klucz, a elementy parzyste miały wartość. Od Pyton słownik jest nieuporządkowany, wynik może być w dowolnej kolejności.
Przykład
Input : ['a', 1, 'b', 2, 'c', 3] Output: {'a': 1, 'b': 2, 'c': 3} Explaination : In the input we have a list of element which then is conerted into key value pairs of dictonary in the output> Konwertuj listę na słownik Python
Poniżej znajdują się metody, które omówimy w tym artykule:
- Używać pętla
- Za pomocą dyktować zrozumienie
- Za pomocą zamek błyskawiczny() metoda
- Za pomocą Funkcja Lambdy
- Za pomocą Rozumienie listy I Krajanie na plastry
- Za pomocą Narzędzia itertools
Konwertuj listę na słownik za pomocą pętli
Ta metoda działa poprzez inicjalizację pustej słownik a następnie iterację po liście w kroku 2. W każdej iteracji para klucz-wartość jest dodawana do słownika, używając bieżącego elementu jako klucza i następnego elementu jako wartości. Na koniec jako wynik zwracany jest słownik.
Python3
def> convert(lst):> >res_dict>=> {}> >for> i>in> range>(>0>,>len>(lst),>2>):> >res_dict[lst[i]]>=> lst[i>+> 1>]> >return> res_dict> lst>=> [>'a'>,>1>,>'b'>,>2>,>'c'>,>3>]> print>(convert(lst))> |
>
>
Wyjście
{'a': 1, 'b': 2, 'c': 3}> Złożoność czasowa: O(n), gdzie n jest długością listy wejściowej.
Przestrzeń pomocnicza: O(n), gdzie n jest długością listy wejściowej.
Lista do konwersacji słownikowej używając dyktowania ze zrozumieniem
Aby przekonwertować listę na słownik, możemy użyć dyktować zrozumienie i utwórz parę klucz:wartość składającą się z kolejnych elementów. Na koniec wpisz listę do dykt typ.
Python3
def> Convert(lst):> >res_dct>=> {lst[i]: lst[i>+> 1>]>for> i>in> range>(>0>,>len>(lst),>2>)}> >return> res_dct> > # Driver code> lst>=> [>'a'>,>1>,>'b'>,>2>,>'c'>,>3>]> print>(Convert(lst))> |
>
znak na ciąg Java
>Wyjście
{'a': 1, 'b': 2, 'c': 3}> Złożoność czasowa: O(n), gdzie n jest długością listy wejściowej.
Przestrzeń pomocnicza: O(n), gdzie n jest długością listy wejściowej.
Konwersja listy na słownik W śpiewać zamek błyskawiczny() metoda
Najpierw utwórz iterator i zainicjuj go zmienną „it”. Następnie użyj zamek błyskawiczny metoda , aby spakować razem klucze i wartości. Na koniec wpisz to do dykt typ.
Python3
def> Convert(a):> >it>=> iter>(a)> >res_dct>=> dict>(>zip>(it, it))> >return> res_dct> # Driver code> lst>=> [>'a'>,>1>,>'b'>,>2>,>'c'>,>3>]> print>(Convert(lst))> |
>
>Wyjście
{'a': 1, 'b': 2, 'c': 3}> Złożoność czasowa: O(n), gdzie n jest długością listy wejściowej a.
Przestrzeń pomocnicza: O(n), gdzie n jest długością listy wejściowej a.
Lista konwersacji słownikowych przy użyciu funkcji Lambda
Najpierw utwórz tablicę kluczy i wartości, korzystając z dzielenia tablicy. Następnie użyj metoda mapy z lambda aby utworzyć tablicę krotki z wartością klucza paris. Na koniec przepisz go na typ dyktowany.
Pyton
def> Convert(lst):> >res_dct>=> map>(>lambda> i: (lst[i], lst[i>+>1>]),>range>(>len>(lst)>->1>)[::>2>])> >return> dict>(res_dct)> # Driver code> lst>=> [>'a'>,>1>,>'b'>,>2>,>'c'>,>3>]> print>(Convert(lst))> |
>
>
jaki rozmiar mojego monitoraWyjście
{'a': 1, 'c': 3, 'b': 2}> Złożoność czasowa: O(n), gdzie n jest liczbą par klucz-wartość w słowniku.
Przestrzeń pomocnicza: O(n), do przechowywania kluczy i wartości w słowniku.
Konwersja listy na słownik przy użyciu rozumienia list i wycinania
Plasterek listę wejściową, aby uzyskać listę kluczy za pomocą lst[::2]. To zajmie co drugi element, zaczynając od pierwszego elementu listy. Podziel listę wejściową, aby uzyskać listę wartości, używając lst[1::2]. To zajmie co drugi element, zaczynając od drugiego elementu listy. Utwórz słownik, używając a zrozumienie słownika która iteruje po indeksach listy kluczy i łączy każdy klucz w parę z odpowiadającą mu wartością z listy wartości.
Zwróć wynikowy słownik.
Python3
def> convert(lst):> >keys>=> lst[::>2>]># slice the list to get keys> >values>=> lst[>1>::>2>]># slice the list to get values> >res_dict>=> {keys[i]: values[i]>for> i>in> range>(>len>(keys))}> >return> res_dict> lst>=> [>'a'>,>1>,>'b'>,>2>,>'c'>,>3>]> print>(convert(lst))># {'a': 1, 'b': 2, 'c': 3}> |
>
>Wyjście
{'a': 1, 'b': 2, 'c': 3}> Złożoność czasowa: NA)
Przestrzeń pomocnicza: NA).
Konwertuj listę na słownik za pomocą Itertools
Zaimportuj itertools moduł .Użyj zip_longest() funkcja tworząca listę krotek z oryginalnej listy. Ta funkcja grupuje elementy w pary, nawet jeśli długość listy jest nieparzysta. Użyj rozumienia słownikowego, aby utworzyć słownik z listy krotek. Zwróć słownik.
Poniżej implementacja powyższego podejścia:
Python3
stlc
import> itertools> def> convert(lst):> >pairs>=> itertools.zip_longest(>*>[>iter>(lst)]>*> 2>, fillvalue>=>None>)> >dct>=> {key: value>for> key, value>in> pairs}> >return> dct> lst>=> [>'a'>,>1>,>'b'>,>2>,>'c'>,>3>]> print>(convert(lst))> |
>
>Wyjście
{'a': 1, 'b': 2, 'c': 3}> Złożoność czasowa: NA)
Przestrzeń pomocnicza: O(n) (do przechowywania listy krotek)