Python – Comment convertir une liste en dictionnaire ?

À partir d’une liste, comment écrire un programme en Python pour convertir la liste donnée en dictionnaire de sorte que tous les éléments impairs aient la clé et que les éléments pairs aient la valeur. Comme le dictionnaire python n’est pas ordonné, la sortie peut être dans n’importe quel ordre.

Exemples :

Input : ['a', 1, 'b', 2, 'c', 3]
Output : {'a': 1, 'b': 2, 'c': 3}

Input : ['Paris', 71, 'Rouen', 42]
Output : {'Paris': 71, 'Rouen': 42}

Méthode n°1 : compréhension de liste

Pour convertir une liste en dictionnaire, on peut utiliser la compréhension de liste et faire une paire clé:valeur d’éléments consécutifs. Enfin, on peut taper la liste en dict type.

def Convert(lst):
	res_dct = {lst[i]: lst[i + 1] for i in range(0, len(lst), 2)}
	return res_dct
		
lst = ['a', 1, 'b', 2, 'c', 3]
print(Convert(lst))
Output
{'a': 1, 'b': 2, 'c': 3}

Méthode n°2 : Utilisation de la méthode zip()

Créez d’abord un itérateur et initialisez-le à la variable “it”. Ensuite, utilisez la méthode du zip, pour zipper les clés et les valeurs ensemble. Enfin, vous pouvez le transformer en type dict.

def Convert(a):
	it = iter(a)
	res_dct = dict(zip(it, it))
	return res_dct
		
lst = ['a', 1, 'b', 2, 'c', 3]
print(Convert(lst))
Output
{'a': 1, 'b': 2, 'c': 3}

Pour aller plus loin

Pour approfondir vos connaissances, et développer vos compétences, je vous propose cette sélection de livre.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Show Buttons
Hide Buttons
Translate »
%d blogueurs aiment cette page :