gpt4 book ai didi

python - 索引二维数组/列表

转载 作者:太空宇宙 更新时间:2023-11-03 19:40:46 24 4
gpt4 key购买 nike

嗨,我正在尝试查找二维数组的索引,但只能找到如何一次索引每一行。不幸的是,这没有用,因为在第一个索引语句找不到列表中的单词后,我找不到另一个索引。

这是我尝试使用的代码:

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' is not in list

简而言之,我希望在 python 中的二维数组/列表中找到元素(字符串)的位置

任何帮助将不胜感激

最佳答案

下面是遍历二维数组并提取与条件匹配的元素的索引值的示例。

一些注意事项:

  • 我使用了任意示例数据,因为您没有包含有关您正在处理的值的详细信息
  • 我演示了如何处理二维数组中的重复值。根据您的假设,您可能需要调整逻辑(例如,处理 words_totranslate 中的重复项,也许您使用 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)]

关于python - 索引二维数组/列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60439308/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com