将项目列表转换为多个字典,其中每个键只有列表中的一个值

我有一个看起来像这样的结果列表:[球员,俱乐部,国籍,国家,纬度,经度]

results = [('Edouard Mendy', 'Chelsea FC', 'Senegal', 'Senegal', 14.0, -14.0),
 ('Kepa', 'Chelsea FC', 'Spain', 'Spain', 40.0, -4.0),
 ('Kurt Zouma', 'Chelsea FC', 'France', 'France', 46.0, 2.0),
 ('Andreas Christensen', 'Chelsea FC', 'Denmark', 'Denmark', 56.0, 10.0),
 ('Antonio Rüdiger', 'Chelsea FC', 'Germany', 'Germany', 51.0, 9.0),
 ('Thiago Silva', 'Chelsea FC', 'Brazil', 'Brazil', -10.0, -55.0)]

我想把它改成一个字典格式:

players = [{
   {"player": Edouard Mendy,
    "club:": Chelsea FC,
    "nationality": Senegal,
    "country:" Senegal,
    "latitude": 14.0,
    "longitude": -14.0
   }
   {"player": Kepa,
    "club:": Chelsea FC,
    "nationality": Spain,
    "country:" Spain,
    "latitude": 40.0,
    "longitude": -4.0
   }
   etc...  for each player
}]

我试过了

player = [result[0] for result in results]
club = [result[1] for result in results]
nationality = [result[2] for result in results]
country = [result[3] for result in results]
latitude = [result[4] for result in results]
longitude = [result[5] for result in results]

并像这样把它放进字典里

players = {
   "player": player,
   "club": club,
   "nationality": nationality,
   "country": country,
   "latitude": latitude,
   "longitude": longitude
}

此结果将所有结果放入一个字典中。我怎样才能把它们分开?

回答

zip每个单独结果的字典键以创建一个(key, value)对列表,然后您可以将其转换为字典:

keys = ["player", "club", "nationality", "country", "latitude", "longitude"]
players = [dict(zip(keys, result)) for result in results]
print(players)

如果您有更多密钥,则此解决方案很容易扩展 - 只需将它们添加到keys列表中即可。


以上是将项目列表转换为多个字典,其中每个键只有列表中的一个值的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>