我试图获取列表中的空白/空格索引('')并将它们附加到新列表中。但是,当我这样做时,它只会一遍又一遍地附加第一个索引。
for line in line_list:
if line == '':
tlist.append(line_list.index(line))
我知道这个修复必须非常简单,但整个下午都令我感到沮丧。
打印tlist给了我[3,3,3,3,3,3,3,3,3,3,3 .......]
答案 0 :(得分:1)
index()
函数返回值的第一个出现的索引,因此不起作用。试试这个,使用列表理解更有意义,enumerate()
会告诉你每个元素的索引:
tlist = [idx for idx, line in enumerate(line_list) if line == '']
答案 1 :(得分:0)
Python中的index()
函数仅返回指定元素的第一次出现。因此,您只会将第一次出现的空白元素的索引附加到tlist
。相反,使用enumerate
函数,它允许您循环使用变量中的索引号。
for index, line in enumerate(line_list):
if line == '':
tlist.append(index)
或者,您可以使用while
循环,我个人推荐这种循环,而不是enumerate
循环使用for each
。在这里
index = 0
while index < len(line_list):
line = line_list[index]
if line == '':
tlist.append(index)
index += 1
无论您选择哪种方法取决于您,它们都能很好地运作。