Python 将词典列表转换为仅包含选定项的单个词典
我有一份字典清单如下。a、 b、c和d值是列表中每个单独字典中的键Python 将词典列表转换为仅包含选定项的单个词典,python,dictionary,Python,Dictionary,我有一份字典清单如下。a、 b、c和d值是列表中每个单独字典中的键 I = [{'a':'S1','b':'S2','c':'S3','d':'S4'},{'a':'S5','b':'S6','c':'S7','d':'S8'}] 现在我需要生成一个新的单字典。 在这种情况下,键是“a”值和“b”值。 字典的值为“d”值。 示例输出如下所示。键可以是元组或列表 O = {('S1','S2'):'S4',('S5','S6'):'S8'} 有人能给我推荐一种方法吗。简单地使用列表理解: I
I = [{'a':'S1','b':'S2','c':'S3','d':'S4'},{'a':'S5','b':'S6','c':'S7','d':'S8'}]
现在我需要生成一个新的单字典。
在这种情况下,键是“a”值和“b”值。
字典的值为“d”值。
示例输出如下所示。键可以是元组或列表
O = {('S1','S2'):'S4',('S5','S6'):'S8'}
有人能给我推荐一种方法吗。简单地使用列表理解:
I = [{'a':'S1','b':'S2','c':'S3','d':'S4'},{'a':'S5','b':'S6','c':'S7','d':'S8'}]
res = { (elt['a'], elt['b']) : elt['d'] for elt in I }
print(res)
输出:
{('S1', 'S2'): 'S4', ('S5', 'S6'): 'S8'}
更新:使用for循环
I = [{'a':'S1','b':'S2','c':'S3','d':'S4'},{'a':'S5','b':'S6','c':'S7','d':'S8'}]
res = dict()
for elt in I:
res[(elt['a'], elt['b'])] = elt['d']
print(res)
只需将列表理解用作:
I = [{'a':'S1','b':'S2','c':'S3','d':'S4'},{'a':'S5','b':'S6','c':'S7','d':'S8'}]
res = { (elt['a'], elt['b']) : elt['d'] for elt in I }
print(res)
输出:
{('S1', 'S2'): 'S4', ('S5', 'S6'): 'S8'}
更新:使用for循环
I = [{'a':'S1','b':'S2','c':'S3','d':'S4'},{'a':'S5','b':'S6','c':'S7','d':'S8'}]
res = dict()
for elt in I:
res[(elt['a'], elt['b'])] = elt['d']
print(res)
欢迎来到堆栈溢出!请拿起,阅读,和,并提供一个。“为我实现此功能”是本网站的主题。你必须做一个诚实的尝试,然后问一个关于你的算法或技术的特定问题。密钥不能是列表,因为dict密钥!欢迎来到堆栈溢出!请拿起,阅读,和,并提供一个。“为我实现此功能”是本网站的主题。你必须做一个诚实的尝试,然后问一个关于你的算法或技术的特定问题。密钥不能是列表,因为dict密钥!您好,您知道如何在循环内的append函数中使用它吗?添加了循环代码。它不需要用于list.Hi的append(),您知道如何在for循环的append函数中使用它吗?添加了带有循环的代码。它不需要用于列表的append()。