繁体   English   中英

如何通过将键分配给 Python 字典中的每个值元素来创建元组列表?

[英]How to create list of tuple by distributing the key to every value element inside a Python dictionary?

我有一个 python 字典如下:

A = {7: [21, 29, 43], 16: [20, 21, 37, 49], 21: [7, 16, 43], 29: [2, 7], 43: [7, 21], 46: [23, 36]}

我想将键分配给值列表中的每个元素并创建新的元组列表,如下所示:

B = [(7,21), (7,29), (7,43), (16,20),...]

我怎样才能做到这一点? 任何帮助,将不胜感激。

A = {7: [21, 29, 43], 16: [20, 21, 37, 49], 21: [7, 16, 43], 29: [2, 7], 43: [7, 21], 46: [23, 36]}

a = []

for key, values in A.items():
    for value in values:
        a.append((key,value))

print (a)

Output:

[(7, 21), (7, 29), (7, 43), (16, 20), (16, 21), (16, 37), (16, 49), (21, 7), (21, 16), (21, 43), (29, 2), (29, 7), (43, 7), (43, 21), (46, 23), (46, 36)]

或者,使用列表推导:

a = [(key,value) for key, values in A.items() for value in values] 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM