[英]Indexing 2d arrays/lists
嗨,我正在嘗試查找二維數組的索引,但一次只能找到如何索引每一行。 不幸的是,這沒有用,因為在第一個索引語句在列表中找不到單詞后,我找不到另一個索引。
這是我試圖使用的代碼:
if not button:#code to be ran if in test screen
#print("Test Mode")
time.sleep(0.4)
Wordtotranslate = self.driver.find_element_by_xpath('/html/body/div[4]/div[3]/div/div/div[1]/div[1]/div/div')
Wordtotranslate = Wordtotranslate.text
print(Wordtotranslate)
def in_list():
for i, sublist in enumerate(words_list2d):
if Wordtotranslate in sublist:
return i
return -1
in_list()
我得到的錯誤是:
Eng_Index = words_list2d[0].index(Wordtotranslate)
ValueError: 'on' 不在列表中
簡而言之,我想在 python 中的二維數組/列表中找到元素(字符串)的位置
任何幫助將不勝感激
下面是遍歷二維數組並提取與條件匹配的元素的索引值的示例。
一些注意事項:
words_to translate
重復words_to translate
,也許您使用了list.index()
因為只關心第一個實例等)import collections
words_list2d = [
['here', 'are', 'example'],
['words', 'in', 'a'],
['2d', 'array', 'with'],
['duplicate', 'words', 'duplicate'],
]
words_to_translate = ['example', 'array', 'duplicate', 'words']
word_indexes = collections.defaultdict(list)
for row_index, row in enumerate(words_list2d):
for value_index, value in enumerate(row):
for word in words_to_translate:
if word == value:
word_indexes[word].append((row_index, value_index))
break
for word in word_indexes:
print(f"{word}: {word_indexes[word]}")
輸出:
$ python3 find_words_in_2d_array.py
example: [(0, 2)]
words: [(1, 0), (3, 1)]
array: [(2, 1)]
duplicate: [(3, 0), (3, 2)]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.