


Comment puis-je convertir efficacement une liste de valeurs-clés alternées en dictionnaire en Python ?
Nov 29, 2024 pm 04:51 PMConversion 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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment utiliser la belle soupe pour analyser HTML?

Comment utiliser Python pour trouver la distribution ZIPF d'un fichier texte

Comment travailler avec des documents PDF à l'aide de Python

Comment se cacher en utilisant Redis dans les applications Django

Comment effectuer l'apprentissage en profondeur avec TensorFlow ou Pytorch?

Sérialisation et désérialisation des objets Python: partie 1

Comment implémenter votre propre structure de données dans Python
