É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 :
- Utilisant un boucle
- En utilisant dict Compréhension
- En utilisant fermeture éclair() Méthode
- En utilisant Fonction Lambda
- En utilisant Compréhension de la liste et Tranchage
- En utilisant Itertools
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 UbuntuSortir
{'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)