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

时间:2016-06-25 16:36:48

标签: python python-3.x tuples list-comprehension 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])

结果:

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 comprehension接受答案......

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

3 个答案:

答案 0 :(得分:6)

您可以使用.items解压缩:

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

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

哪个会打印:

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

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

答案 1 :(得分:1)

你可以这样做:

{{1}}

解压缩到:

{{1}}

答案 2 :(得分:0)

你可以这样做:

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