gpt4 book ai didi

python - 从词典列表到词典

转载 作者:太空宇宙 更新时间:2023-11-04 06:57:16 25 4
gpt4 key购买 nike

我的功能有问题。

我执行一个 SQL 查询来获取一个列表,该列表包含一些只有键/值元素的字典。这是我的输出示例:

myDictList = [{'id': 55, 'sigla': 'SNG'}, {'id': 62, 'sigla': 'TRP'}, 
{'id': 71, 'sigla': 'PCNIM'}, {'id': 72, 'sigla': 'pc2ni'},
{'id': 73, 'sigla': 'ccas'}, {'id': 74, 'sigla': 'ased1'},
{'id': 75, 'sigla': '131s'}, {'id': 76, 'sigla': 'r888'},
{'id': 56, 'sigla': 'DBL'}]

id 是唯一的(对于 SQL 约束)。

我已经用这种方式构建了一个 id 列表

r_id_list = list(rid['id'] for rid in roomList)

现在,我要构建一个字典。就像 myDictList 中的那样:

{55:'SNG',62:'TRP',71:'PCNIM'.... and so on}

此外,我想避免这样的部分代码:

finalDict = {}
for element in myDictList:
finalDict.update({element['id']:element['sigla']})

出于某些原因我想这样做:

  • 我不想做两个单独的查询来获得一些我可以用一个检索的数据
  • 我不想遍历每个列表元素以从 r_id_list 元素中检索 sigla

一些关于紧凑代码的建议,该代码不会在 for 循环中包含 for 循环,并增加复杂性?

最佳答案

finalDict = dict([(k['id'], k['sigla']) for k in myDictList])

编辑1如评论所述,这将是一种更好的方法。

finalDict = dict(((k['id'], k['sigla']) for k in myDictList))

EDIT2

finalDict = dict((k['id'], k['sigla']) for k in myDictList)

关于python - 从词典列表到词典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8924054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com