【发布时间】:2021-05-17 03:50:42
【问题描述】:
我声明了letters,它有更多的子列表,这些子列表的元素之间至少有单词“BUILD”或“SHOW”,甚至它们的元素之间可以有两个单词。
我想要在indexes 中保存找到的第一个单词的索引,例如letters[0] 它只包含单词“BUILD”,它的索引是4,然后使用letters[1] 包含两个词,但是找到的第一个词是“SHOW”,所以我想得到那个索引,其中一个是5,然后是letters[2],其中一个也包含两个词,但是重要的索引是在找到的第一个词处,所以返回的索引是4,最后是letters[3],它只包含“SHOW”,它的索引是3
所以最后当我打印indexes时,控制台中的结果应该是[4, 5, 4, 3 ]
我写了这个:
letters = [['letters1','a', 'c', 'b', 'BUILD'],
['letters2','F', 'P', 'Z', 'W', 'SHOW', 'BUILD'],
['letters3','R', 'X', 'N', 'BUILD', 'SHOW'],
['letters4','a', 'c','SHOW']]
indexes=[]
for letter in letters:
for element in letter:
if element=="BUILD" or element=="SHOW":
indexes.append(letter.index(element))
print(indexes)
但是控制台中的输出是[4, 5, 6, 4, 5, 3],我理解我的代码是在找到两个单词时获取索引,而我不知道那是什么,我只想要找到的第一个单词的索引。
【问题讨论】:
标签: python python-3.x list for-loop list-comprehension