logo

Convertir une liste en dictionnaire Python

Étant donné une liste, écrivez un programme Python pour convertir la liste donnée en dictionnaire de telle sorte que tous les éléments impairs aient la clé et que les éléments pairs aient la valeur. Depuis le Python Le dictionnaire n'est pas ordonné, la sortie peut être dans n'importe quel ordre.

Exemple



  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>

Convertir une liste en dictionnaire Python

Vous trouverez ci-dessous les méthodes que nous aborderons dans cet article :

Convertir une liste en dictionnaire à l'aide d'une boucle

Cette méthode fonctionne en initialisant un vide dictionnaire puis parcourir la liste à l'étape 2. À chaque itération, la paire clé-valeur est ajoutée au dictionnaire en utilisant l'élément actuel comme clé et l'élément suivant comme valeur. Enfin, le dictionnaire est renvoyé comme résultat.

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))>

>

>

Sortir

{'a': 1, 'b': 2, 'c': 3}>

Complexité temporelle : O(n), où n est la longueur de la liste d'entrée.
Espace auxiliaire : O(n), où n est la longueur de la liste d'entrée.

Conversation de la liste au dictionnaire utiliser dict Compréhension

Pour convertir une liste en dictionnaire, nous pouvons utiliser compréhension des dictées et créez une paire clé: valeur d’éléments consécutifs. Enfin, tapez la liste pour dicter taper.

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))>

>

c'est en python
>

Sortir

{'a': 1, 'b': 2, 'c': 3}>

Complexité temporelle : O(n), où n est la longueur de la liste d'entrée.
Espace auxiliaire : O(n), où n est la longueur de la liste d'entrée.

Conversion d'une liste en dictionnaire dans chanter fermeture éclair() Méthode

Créez d’abord un itérateur et initialisez-le avec la variable « it ». Utilisez ensuite fermeture éclair méthode , pour compresser les clés et les valeurs ensemble. Enfin, transtypez-le en dicter taper.

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))>

>

>

Sortir

{'a': 1, 'b': 2, 'c': 3}>

Complexité temporelle : O(n), où n est la longueur de la liste d'entrée a.
Espace auxiliaire : O(n), où n est la longueur de la liste d'entrée a.

Conversation de liste à dictionnaire à l'aide de la fonction Lambda

Tout d’abord, créez un tableau de clés et de valeurs en utilisant le découpage de tableau. Utilisez ensuite le méthode cartographique avec lambda pour former un tableau de tuples avec la valeur clé paris. Enfin, transtypez-le en type dict.

Python




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))>

>

>

outil de capture dans Ubuntu
Sortir

{'a': 1, 'c': 3, 'b': 2}>

Complexité temporelle : O(n), où n est le nombre de paires clé-valeur dans le dictionnaire.
Espace auxiliaire : O(n), pour stocker les clés et les valeurs dans le dictionnaire.

Conversion d'une liste en dictionnaire utiliser la compréhension et le découpage de listes

Tranche la liste d'entrée pour obtenir une liste de clés en utilisant lst[::2]. Cela prendra un élément sur deux à partir du premier élément de la liste. Découpez la liste d'entrée pour obtenir une liste de valeurs en utilisant lst[1::2]. Cela prendra un élément sur deux à partir du deuxième élément de la liste. Créez un dictionnaire en utilisant un compréhension du dictionnaire qui parcourt les indices de la liste des clés et associe chaque clé à sa valeur correspondante dans la liste des valeurs.

Renvoie le dictionnaire résultant.

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}>

>

>

Sortir

{'a': 1, 'b': 2, 'c': 3}>

Complexité temporelle : Sur)
Espace auxiliaire : Sur).

Convertir une liste en dictionnaire à l'aide d'Itertools

Importer le itertools module .Utilisez le zip_longest() fonction pour créer une liste de tuples à partir de la liste originale. Cette fonction regroupera les éléments par paires, même si la longueur de la liste est impaire. Utilisez une compréhension de dictionnaire pour créer un dictionnaire à partir de la liste des tuples. Renvoyez le dictionnaire.

Vous trouverez ci-dessous la mise en œuvre de l’approche ci-dessus :

Python3




python nouvelle ligne
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))>

>

>

Sortir

{'a': 1, 'b': 2, 'c': 3}>

Complexité temporelle : Sur)
Espace auxiliaire : O(n) (pour stocker la liste des tuples)