J'ai parcouru environ 10 sites pour savoir comment convertir un tableau en dictionnaire avec Python. J'ai trouvé un "modèle qui n'est pas affiché sur le blog de commentaires d'introduction commun", donc je vais le présenter comme une version avancée.
Si vous recherchez en convertissant un tableau en dictionnaire, vous trouverez de nombreux exemples avec une clé et une valeur de 1: 1.
test002.py
key2=["name","age","kind"]
data2=["siva",4,"dog"]
print(dict(zip(key2,data2)))
Les clés et les valeurs étaient dans des tableaux séparés, mais j'ai pu les convertir proprement dans un dictionnaire.
output
{'name': 'siva', 'age': 4, 'kind': 'dog'}
En réalité, il peut traiter les données complexes suivantes. Même si vous appliquez l'exemple courant tel quel, il ne peut pas être converti au format souhaité.
test001.py
key1=["name","age","kind"]
data1=[["garm",4,"dog"],["chapalu",3,"cat"],["echidna",10,"snake"],["phoenix",6,"bird"]]
print(dict(zip(key1,data1)))
Ceci est un gâchis. Les données sont devenues inutiles.
output
{'name': ['garm', 4, 'dog'], 'age': ['chapalu', 3, 'cat'], 'kind': ['echidna', 10, 'snake']}
Par conséquent, utilisons la notation d'inclusion comme suit.
test001.py
key1=["name","age","kind"]
data1=[["garm",4,"dog"],["chapalu",3,"cat"],["echidna",10,"snake"],["phoenix",6,"bird"]]
print([dict(zip(key1,item)) for item in data1])
Ça s'est bien passé.
output
[{'name': 'garm', 'age': 4, 'kind': 'dog'}, {'name': 'chapalu', 'age': 3, 'kind': 'cat'}, {'name': 'echidna', 'age': 10, 'kind': 'snake'}, {'name': 'phoenix', 'age': 6, 'kind': 'bird'}]
Quand je le réécris avec l'instruction For, cela ressemble à ceci.
test001.py
key1=["name","age","kind"]
data1=[["garm",4,"dog"],["chapalu",3,"cat"],["echidna",10,"snake"],["phoenix",6,"bird"]]
mydata = []
for item in data1:
mydata.append(dict(zip(key1,item)))
print(mydata)
Le résultat est le même.
output
[{'name': 'garm', 'age': 4, 'kind': 'dog'}, {'name': 'chapalu', 'age': 3, 'kind': 'cat'}, {'name': 'echidna', 'age': 10, 'kind': 'snake'}, {'name': 'phoenix', 'age': 6, 'kind': 'bird'}]
--Un modèle spécial dans lequel les clés et les dictionnaires sont disposés en alternance
Excelsior!!
Recommended Posts