2013-04-02 62 views
3

我想访问元组字典中元组的特定元素。假设我有一个带有唯一键的字典,并且每个键有三个值的元组。我想写一个迭代器打印字典中每个元素的元组中的每个第三项。如何访问元组字典的特定元素

例如

dict = {"abc":(1,2,3), "bcd":(2,3,4), "cde", (3,4,5)} 

for item in dict: 
    print item[2] 

但这返回

c 
d 
e 

我要去哪里错了?

+1

提醒您:字典是无序的,因此你不能保证你会得到3,4,5,而不是5,3 4。 – DSM

+0

你知道任何解释有序字典的教程吗? – user1876508

+0

虽然*有''collections.OrderedDict',它保留了插入顺序(它不是'sorteddict'),大多数时候只是对已排序的键进行迭代就足够了(例如'对于排序后的项目(d):print d [2])'。我不知道任何教程。 – DSM

回答

3
for item in dict: 
    print dict[item][2] 

而且,你不应该命名后,内置的,所以命名你的字典比'dict'

for item in dict:做同样的事情为for item in dict.keys()其他'd'什么东西。

或者,你可以这样做:

for item in dict.values(): 
    print item[2] 
+0

哈哈,那很容易 – user1876508

2

你的代码是接近的,但是你必须钥匙插入字典和索引然后打印值2

正在打印的按键的部分。要打印与这些键关联的值的部分:

for item in dict: 
    print dict[item][2]