Maison > Questions et réponses > le corps du texte
我有一个元组列表:
现在我想把这组元组变成字典的列表,类似的效果是这样:
meat = [
{
"地区词":"深圳福田区",
"品牌词":"TTM全身体检",
"疑问词":"地址怎么走",
"价格词":"价格要多少钱"
},
{
"地区词":"深圳保安区",
"品牌词":"TTM全身体检",
"疑问词":"地址怎么走",
"价格词":"要做多少项目"
},
.....
]
有什么比较方便的方法?
怪我咯2017-04-18 09:08:51
La méthode de @dokelung peut être plus concise
names = 'area brand question price'.split()
lst = [dict(zip(names, t)) for t in tlst]
大家讲道理2017-04-18 09:08:51
names = 'area brand question price'.split()
lst = [{name:value for name, value in zip(names, t)} for t in tlst]
Test :
tlst = [('a1','b1','q1','p1'),
('a2','b2','q2','p2'),
('a3','b3','q3','p3')]
names = 'area brand question price'.split()
lst = [{name:value for name, value in zip(names, t)} for t in tlst]
print(lst)
Résultat :
[{'brand': 'b1', 'area': 'a1', 'question': 'q1', 'price': 'p1'}, {'brand': 'b2', 'area': 'a2', 'question': 'q2', 'price': 'p2'}, {'brand': 'b3', 'area': 'a3', 'question': 'q3', 'price': 'p3'}]
Questions auxquelles j'ai répondu : Python-QA
迷茫2017-04-18 09:08:51
Écriture simple : (a est un tableau de tuples)
meat = [{'地区词':t[0], '品牌词':t[1], '疑问词':t[2], '价格词':t[3]} for t in a]
Bien sûr, vous pouvez également essayer la méthode de cartographie, qui n'est pas mentionnée ici
天蓬老师2017-04-18 09:08:51
Afin de vous montrer avec force, utilisez l'expression $lambda$ pour écrire :
list(map(lambda x: {'地区词':x[0], '品牌词':x[1], '疑问词':x[2], '价格词':x[3]}, a))
Veuillez ignorer ma réponse. . .
迷茫2017-04-18 09:08:51
La bonne solution ci-dessus est de former un dictionnaire séparé, puis d'appeler l'ajout du tableau et tout ira bien