Maison >développement back-end >Tutoriel Python >Comment puis-je convertir efficacement une liste de valeurs-clés alternées en dictionnaire en Python ?

Comment puis-je convertir efficacement une liste de valeurs-clés alternées en dictionnaire en Python ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-29 16:51:10177parcourir

How Can I Efficiently Convert an Alternating Key-Value List to a Dictionary in Python?

Conversion de '[key1,val1,key2,val2]' en dictionnaire : méthodes pythoniques

Problème :

En Python, nous avons une liste a avec une structure clé-valeur alternée, où chaque élément pair représente une clé de dictionnaire et son élément impair suivant est le valeur correspondante. La tâche consiste à convertir cette liste en un dictionnaire b, où chaque paire clé-valeur est mappée de manière appropriée.

Exemple :

a = ['hello', 'world', '1', '2']

Sortie souhaitée :

b = {'hello': 'world', '1': '2'}

Solution :

La méthode la plus simple pour résoudre ce problème consiste à utiliser les fonctions dict() et zip() intégrées de Python. Voici une solution syntaxiquement propre :

b = dict(zip(a[::2], a[1::2]))

Cette méthode est efficace et permet d'obtenir le résultat souhaité. Cependant, si les performances sont un problème, une approche alternative consiste à utiliser les outils itérateurs de Python :

from itertools import izip
i = iter(a)
b = dict(izip(i, i))

Cette méthode est particulièrement utile lorsqu'il s'agit de très grandes listes, car elle ne crée pas de listes temporaires dans le processus.

Dans Python 3, une compréhension de dict fournit également une solution concise :

b = {a[i]: a[i+1] for i in range(0, len(a), 2)}

Alors que zip() est déjà paresseux en Python 3, vous pouvez également utiliser l'opérateur morse (:=) pour une solution sur une seule ligne dans Python 3.8 et supérieur :

b = dict(zip(i := iter(a), i))

En fin de compte, le meilleur choix dépend des exigences spécifiques et de la version de Python vous utilisez. Ces méthodes offrent des solutions propres et efficaces pour convertir des listes de paires clé-valeur alternées en dictionnaires en Python.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn