从具有 key/tuple 对的字典中提取元组

extracting a tuple from a dictionary with a key/tuple pair

我知道我很接近:

    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])

结果:

tuple00('tuple00','tuple01')
tuple01('tuple00','tuple01')
tuple10('tuple10','tuple11')
tuple11('tuple10','tuple11')

注释行会给我更好的结果

key0 tuple00 tuple01
key1 tuple00 tuple01

但我必须通过以下方式解决它们:

my_dict[k][0],my_dict[k][1]

这很丑。正在做:

    for k in my_dict:
        for i,m in k:
            print (i,m,k)

给出错误:

    for i,m in k:
ValueError: need more than 1 value to unpack

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

我会通过循环(如上所述)或dict/list理解来接受答案...

我真正想要的是能够 select 一个 Key 值并将元组用作引用对:im

你可以这样做:

    for key, value in dictd.iteritems():
        print key, value[0], value[1]

您可以使用 .items 解压:

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

for k, (v1, v2) in d.items():
    print(k, v1, v2)

这将打印:

('key', 'v1', 'v2')

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

你可以这样做:

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

for key in d:
    print((key,) + d[key])

解压到:

('key', 'v1', 'v2')