Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将词典列表转换为仅包含选定项的单个词典_Python_Dictionary - Fatal编程技术网

Python 将词典列表转换为仅包含选定项的单个词典

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

我有一份字典清单如下。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 = [{'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()。