Python 如何获取子列表中某个单词的索引?
我声明了Python 如何获取子列表中某个单词的索引?,python,python-3.x,list,for-loop,list-comprehension,Python,Python 3.x,List,For Loop,List Comprehension,我声明了字母,其中一个有多个子列表,这些子列表的元素之间至少有单词“BUILD”或“SHOW”,甚至它们的元素之间可以有两个单词 我想要的是将找到的第一个单词的索引保存在索引中,例如字母[0]它只包含单词“BUILD”,它的索引将是4,然后使用包含这两个单词的字母[1],但是找到的第一个单词是“SHOW”,所以我想得到索引,其中一个是5,然后是letters[2],其中一个也包含这两个词,但是重要的索引是在找到的第一个词处,因此返回的索引是4,最后是letters[3],其中只包含“SHOW”,
字母
,其中一个有多个子列表,这些子列表的元素之间至少有单词“BUILD”或“SHOW”,甚至它们的元素之间可以有两个单词
我想要的是将找到的第一个单词的索引保存在索引中,例如字母[0]
它只包含单词“BUILD”,它的索引将是4
,然后使用包含这两个单词的字母[1]
,但是找到的第一个单词是“SHOW”,所以我想得到索引,其中一个是5
,然后是letters[2]
,其中一个也包含这两个词,但是重要的索引是在找到的第一个词处,因此返回的索引是4
,最后是letters[3]
,其中只包含“SHOW”,其索引是3
因此,在最后一次打印索引时,控制台中的结果应该是[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']
索引=[]
对于字母中的字母:
对于字母中的元素:
如果元素=“构建”或元素=“显示”:
index.append(字母.索引(元素))
打印(索引)
然而,控制台中的输出是[4,5,6,4,5,3]
,据我所知,我的代码在找到时会为这两个单词获取索引,我不知道这是什么,我只想找到第一个单词的索引。使用break
在满足条件时中断循环
letters=['letters1'、'a','c','b','BUILD']、['letters2'、'F','P','Z','W','SHOW','BUILD']、['letters3','R','X','N','BUILD','SHOW']、['letters4','a','c','SHOW']
索引=[]
对于字母中的字母:
对于字母中的元素:
如果元素=“构建”或元素=“显示”:
index.append(字母.索引(元素))
在这里休息
打印(索引)
使用break
在满足条件时中断循环
letters=['letters1'、'a','c','b','BUILD']、['letters2'、'F','P','Z','W','SHOW','BUILD']、['letters3','R','X','N','BUILD','SHOW']、['letters4','a','c','SHOW']
索引=[]
对于字母中的字母:
对于字母中的元素:
如果元素=“构建”或元素=“显示”:
index.append(字母.索引(元素))
在这里休息
打印(索引)
letters=['letters1'、'a','c','b','BUILD']、['letters2'、'F','P','Z','W','SHOW','BUILD']、['letters3','R','X','N','BUILD','SHOW']、['letters4','a','c','SHOW']
索引=[]
对于字母中的字母:
对于我,让我列举(信):
如果let==“构建”或let==“显示”:
附加索引(i)
打破
字母=['letters1','a','c','b','BUILD'],['letters2','F','P','Z','W','SHOW','BUILD'],['letters3','R','X','N','BUILD','SHOW'],['letters4','a','c','SHOW']
索引=[]
对于字母中的字母:
对于我,让我列举(信):
如果let==“构建”或let==“显示”:
附加索引(i)
打破
代码的简化版本,便于您更好地理解。迭代器在循环的整个长度上迭代内部循环
然后使用“break”/“continue”
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 i in range(len(letter)):
if letter[i]=="BUILD":
indexes.append(i)
break
elif letter[i]=="SHOW":
indexes.append(i)
break
else:
continue
print(indexes)
简化版的代码,便于您更好地理解。迭代器在循环的整个长度上迭代内部循环
然后使用“break”/“continue”
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 i in range(len(letter)):
if letter[i]=="BUILD":
indexes.append(i)
break
elif letter[i]=="SHOW":
indexes.append(i)
break
else:
continue
print(indexes)