2013-11-27 81 views
2

我想弄清楚如何確定元組是否在元組列表中具有完全匹配,如果是,則返回匹配元組的索引。舉例來說,如果我有:在元組列表中查找精確元組匹配並返回其索引

TupList = [('ABC D','235'),('EFG H','462')] 

我想能夠採取的任何元組('XXXX','YYYY'),看看它是否有一個精確匹配在TupList如果是這樣,它的指標是什麼。例如,如果元組('XXXX','YYYY') = (u'EFG H',u'462')正好,那麼代碼將返回1

我也不想讓像('EFG', '462')這樣的元組(基本上任何元組的元素的任何子字符串)匹配。

回答

7

使用list.index

>>> TupList = [('ABC D','235'),('EFG H','462')] 
>>> TupList.index((u'EFG H',u'462')) 
1 
+1

小筆記記錄做,如果元組沒有在列表中,這將吐出一個錯誤存在。 – yuvi

+0

非常感謝你@hcwhsa。這是我所需要的,但是,如果我正在查找的特定元組不在列表中,我還需要我的代碼不會中斷。有沒有什麼簡單的方法可以解決這個問題,除了在TupList == False中使用'if((u'EFG H',u'462'))兩步完成「,然後繼續或者使用':TupList。 index((u'EFG H',u'462'))'? –

1

我想你可以通過這個

TupList = [('ABC D','235'),('EFG H','462')] 
if ('ABC D','235') in TupList: 
    print TupList.index(i) 
相關問題