Conversion d'une liste plate en dictionnaire
En Python, la conversion d'une liste de paires clé-valeur en dictionnaire peut être réalisée en plusieurs façons. L'approche la plus simple consiste à utiliser la fonction dict(). Par exemple, étant donné la liste a = ['hello', 'world', '1', '2'], nous pouvons créer le dictionnaire b en utilisant la syntaxe suivante :
b = dict(zip(a[::2], a[1::2]))
Cette ligne de code utilise la fonction zip() pour créer une liste de tuples, où chaque tuple contient une clé et sa valeur correspondante. La fonction dict() convertit ensuite cette liste de tuples en dictionnaire.
Une autre méthode pour convertir la liste en dictionnaire consiste à utiliser une compréhension de dictionnaire. Cette approche est plus concise et plus facile à lire, en particulier pour les listes plus grandes :
b = {a[i]: a[i+1] for i in range(0, len(a), 2)}
Cette compréhension parcourt la liste a par paires et attribue le premier élément à la clé et le deuxième élément à la valeur.
Si la liste est très longue, vous souhaiterez peut-être éviter de créer des listes intermédiaires. Dans de tels cas, vous pouvez utiliser la fonction itertools.izip() pour parcourir la liste paresseusement, sans créer de liste temporaire. La syntaxe de cette approche est la suivante :
from itertools import izip i = iter(a) b = dict(izip(i, i))
Dans Python 3, la fonction zip() est déjà paresseuse, vous n'avez donc pas besoin d'utiliser izip(). Vous pouvez également utiliser l'opérateur "morse" (:=) pour écrire ceci sur une seule ligne :
b = dict(zip(i := iter(a), i))
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!