好的,我有另一个问题,我需要在我的列表中单独找到\n
的位置。
list = ['abc', '\n', 'def', 'ghi', '\n', 'jkl']
所以,我需要从这个列表中获取所有'\ n'条目的位置。
我用过
a=list.index('\n')
但只有一个值为'1'。如何获得这两个职位?
e.g。我将得到一个'\ n'
位置的列表position = ['1','4']
'1'代表列表中\ n的第一个位置,'4'代表列表中第四个位置的第二个位置。
答案 0 :(得分:11)
您需要迭代元素。这可以通过使用列表推导和enumerate
索引来轻松完成:
indexes = [i for i, val in enumerate(list) if val == '\n']
演示:
>>> lst = ['abc', '\n', 'def', 'ghi', '\n', 'jkl']
>>> [i for i, val in enumerate(lst) if val == '\n']
[1, 4]
答案 1 :(得分:4)
[i for i, x in enumerate(l) if x == "\n"]
# => [1, 4]
不要调用列表list
,因为这是一个内置函数。
答案 2 :(得分:0)
要查找多次出现的列表中项目的索引,以下代码应该可以正常工作
print [i for i in range(len(list)) if list[i] == '\n']
我在您的问题中使用list
,但不使用关键字作为变量。