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
Libérer: 2024-11-29 16:51:10
original
162 Les gens l'ont consulté

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']
Copier après la connexion

Sortie souhaitée :

b = {'hello': 'world', '1': '2'}
Copier après la connexion

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]))
Copier après la connexion

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))
Copier après la connexion

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)}
Copier après la connexion

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))
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal