Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何获取子列表中某个单词的索引?_Python_Python 3.x_List_For Loop_List Comprehension - Fatal编程技术网

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)