Dictionary/list 理解将列表中的新字典值分配给预定义的键
Dictionary/list comprehension to assign new dict values from lists to predefined keys
我有 2 个包含字符串的列表(它们也可以改为集合,如果这在这里有所不同的话):
names = ['abc' , 'xyz' , 'foo']
ids = ['1234' , '5678' , '9101']
列表中的项目数量会有所不同,但每个列表的项目数量始终完全相同,而且少于十几个。我需要从这些列表中创建字典 output
并将列表项分配为结构如下的字典列表中的值:
[{'name' : 'abc', 'id' : '1234'},
{'name' : 'xyz', 'id' : '5678'},
{'name' : 'foo', 'id' : '9101'}]
对于这个函数来说,值一致匹配也很重要,因为列表是按特定顺序生成的,需要保持这样。意思是,鉴于上述源列表,'name' : 'abc'
应始终与 'id' : '1234'
在同一行。一个列表中的第一个值应与另一个列表中的第一个值配对,第二个值与第二个值配对,依此类推。
我已经尝试了很多事情,甚至无法提供一个有用的例子 "what I've tried." 我认为我只是从根本上不理解推导式的工作方式。
**edit - 这被标记为重复并且被骗者似乎满足了同样的需求,尽管它的文本和标题着重于 "json format" 而不是 "list of dicts" 或其他意思我不会找到它。希望我的问题能让一些人用略有不同的术语搜索答案,谢谢。
您可以使用 zip
+ list/dict 理解:
names = ['abc' , 'xyz' , 'foo']
ids = ['1234' , '5678' , '9101']
res = [{"name": n, "id": i} for n, i in zip(names, ids)]
我有 2 个包含字符串的列表(它们也可以改为集合,如果这在这里有所不同的话):
names = ['abc' , 'xyz' , 'foo']
ids = ['1234' , '5678' , '9101']
列表中的项目数量会有所不同,但每个列表的项目数量始终完全相同,而且少于十几个。我需要从这些列表中创建字典 output
并将列表项分配为结构如下的字典列表中的值:
[{'name' : 'abc', 'id' : '1234'},
{'name' : 'xyz', 'id' : '5678'},
{'name' : 'foo', 'id' : '9101'}]
对于这个函数来说,值一致匹配也很重要,因为列表是按特定顺序生成的,需要保持这样。意思是,鉴于上述源列表,'name' : 'abc'
应始终与 'id' : '1234'
在同一行。一个列表中的第一个值应与另一个列表中的第一个值配对,第二个值与第二个值配对,依此类推。
我已经尝试了很多事情,甚至无法提供一个有用的例子 "what I've tried." 我认为我只是从根本上不理解推导式的工作方式。
**edit - 这被标记为重复并且被骗者似乎满足了同样的需求,尽管它的文本和标题着重于 "json format" 而不是 "list of dicts" 或其他意思我不会找到它。希望我的问题能让一些人用略有不同的术语搜索答案,谢谢。
您可以使用 zip
+ list/dict 理解:
names = ['abc' , 'xyz' , 'foo']
ids = ['1234' , '5678' , '9101']
res = [{"name": n, "id": i} for n, i in zip(names, ids)]