Python列表中\ n的索引

时间:2012-08-13 09:35:55

标签: python list indexing

好的,我有另一个问题,我需要在我的列表中单独找到\n的位置。

list = ['abc', '\n', 'def', 'ghi', '\n', 'jkl']

所以,我需要从这个列表中获取所有'\ n'条目的位置。

我用过

a=list.index('\n')

但只有一个值为'1'。如何获得这两个职位?

e.g。我将得到一个'\ n'

位置的列表

position = ['1','4']

'1'代表列表中\ n的第一个位置,'4'代表列表中第四个位置的第二个位置。

3 个答案:

答案 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,但不使用关键字作为变量。