2013-04-02 61 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]