Cette fois, cela semble facile à première vue, mais c'est en fait profond, Comment créer un dictionnaire </ b> est décrit.
Dans cet article, nous décrirons dans l'ordre suivant. ・ Comment créer avec des crochets ondulés ・ Comment créer avec dict () ・ Comment créer en notation d'inclusion de dictionnaire
Comment générer avec {clé: valeur, clé: valeur, ...}.
d = {'k1': 1, 'k2': 2, 'k3': 3} print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}
Les deux méthodes suivantes peuvent être effectuées à partir de Python 3.5, et il semble que non seulement deux, mais trois ou plus peuvent être effectuées. Aussi d = {**d1, **d2, 'k5': 5} Comme il semble, il est possible de combiner et d'ajouter pour le nettoyage. Même si cela est fait, d1 et d2 semblent rester les mêmes.
d1 = {'k1': 1, 'k2': 2} d2 = {'k3': 3, 'k4': 4}
d = {**d1, **d2} print(d)
# {'k1': 1, 'k2': 2, 'k3': 3, 'k4': 4}
print(d1)
# {'k1': 1, 'k2': 2}
print(d2)
# {'k3': 3, 'k4': 4}
Il semble qu'un dictionnaire soit généré en définissant> dict (clé = valeur). Un exemple est présenté ci-dessous.
d = dict(k1=1, k2=2, k3=3) print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}
Comment générer à partir d'une liste de combinaisons de clés et de valeurs (tupple (clé, valeur), etc.).
d = dict([('k1', 1), ('k2', 2), ('k3', 4)]) print(d)
# {'k1': 1, 'k2': 2, 'k3': 4}
Aussi, s'il est itérable comme suit Liste des taples Liste des sets (type de set) Il n'y a aucun problème avec des combinaisons telles que.
・ Liste taple
d = dict((['k1', 1], ['k2', 2], ['k3', 4])) print(d)
# {'k1': 1, 'k2': 2, 'k3': 4}
・ Liste des sets (type de set)
d = dict([{'k1', 1}, {'k2', 2}, {'k3', 4}]) print(d)
# {1: 'k1', 2: 'k2', 'k3': 4}
Générer un dictionnaire à partir de la fonction zip
keys = ['k1', 'k2', 'k3'] values = [1, 2, 3]
d = dict(zip(keys, values)) print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}
Vous pouvez utiliser la fonction zip () pour créer un dictionnaire à partir d'une liste de clés et d'une liste de valeurs. Non limité aux listes, taples, etc. sont OK.
{clé: valeur pour le nom de variable arbitraire dans l'objet itérable}
l = ['Alice', 'Bob', 'Charlie']
d = {s: len(s) for s in l} print(d)
# {'Alice': 5, 'Bob': 3, 'Charlie': 7}
La différence avec la notation d'inclusion de liste est qu'elle est incluse dans {} au lieu de [], et que la clé et la valeur sont spécifiées.
Utilisez la fonction zip () ainsi que le constructeur dict () pour créer à partir d'une liste de clés et de valeurs.
keys = ['k1', 'k2', 'k3'] values = [1, 2, 3]
d = {k: v for k, v in zip(keys, values)} print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}
Pour la première fois, j'ai appris qu'il y a tellement de façons de créer un dictionnaire. C'est assez intéressant. À la prochaine.
Recommended Posts