在未來,儘量避免命名您的變量list
,因爲它會覆蓋Python的內置list
。
lst = [["word1", "word2", "word3"],["word4", "word5", "word6"]]
def find_index_of(lst, value):
for index, word in enumerate(lst):
try:
inner_index = word.index(value)
return (index, inner_index)
except ValueError:
pass
return()
此遍歷的lst
每一個元素,它會:
- 嘗試獲得
value
的index
。如果我們找到了元素,那麼讓我們返回索引。
- 但是,如果Python拋出
ValueError
(因爲該元素不在列表中),那麼讓我們繼續下一個列表。
- 如果沒有找到,返回一個空元組。
輸出:
find_index_of(lst, 'word4') # (1, 0)
find_index_of(lst, 'word6') # (1, 2)
find_index_of(lst, 'word2') # (0, 1)
find_index_of(lst, 'word78') #()
要匹配'(行,列)'約定,你應該切換的'(I,sub.index(W))的順序' – askewchan 2013-03-05 21:03:42
@askewchan哎呀,謝謝!它在代碼中實際上是正確的,我只是在輸出中錯誤地輸入了它。 – 2013-03-05 21:05:52
哈,我寫這個時很困惑,因爲它看起來是正確的......但沒有匹配。 – askewchan 2013-03-05 21:07:06