使用键/元组对从字典中提取元组

Mad*_*vad 1 python tuples list-comprehension python-3.x dictionary-comprehension

我知道我很接近:

    for k in my_dictionary:
        #print (k, my_dict[k][0],my_dict[k][1])
        for v in my_dict[k]:
            print (v,my_dict[k])
Run Code Online (Sandbox Code Playgroud)

结果是:

tuple00('tuple00','tuple01')
tuple01('tuple00','tuple01')
tuple10('tuple10','tuple11')
tuple11('tuple10','tuple11')
Run Code Online (Sandbox Code Playgroud)

评论行会给我一个更好的结果

key0 tuple00 tuple01
key1 tuple00 tuple01
Run Code Online (Sandbox Code Playgroud)

但我必须通过以下方式解决这些问题:

my_dict[k][0],my_dict[k][1]
Run Code Online (Sandbox Code Playgroud)

这是丑陋的.这样做:

    for k in my_dict:
        for i,m in k:
            print (i,m,k)
Run Code Online (Sandbox Code Playgroud)

给出错误:

    for i,m in k:
ValueError: need more than 1 value to unpack
Run Code Online (Sandbox Code Playgroud)

我知道列表理解可能就是我所追求的,但我仍然无法开始理解.

我会通过循环(如上所述)或字典/列表理解来接受答案......

我真正想要的是能够选择一个Key值并使用元组作为引用对:im

Pad*_*ham 6

您可以使用.items以下方式解压缩

 d = {"key":("v1","v2")}

for k, (v1, v2) in d.items():
    print(k, v1, v2)
Run Code Online (Sandbox Code Playgroud)

哪个会打印:

('key', 'v1', 'v2')
Run Code Online (Sandbox Code Playgroud)

使用(v1, v2)每个解压缩tuple/value.