从列表中的项目获取多个索引

时间:2014-11-18 20:07:36

标签: python

这是我在列表中获取一个项目的代码:

LetterInput = 'A'

LetterPositions = (DisplayWord.index(LetterInput))

DisplayWord来自外部文件(制作成列表),如下所示:

ACQUIRED

ALMANAC

INSULT

JOKE

HYMN

GAZELLE

AMAZON 

EYEBROWS

AFFIX

VELLUM

我想更改它,因此A所有位置都会保存到列表中,因为A可以有多个位置。

2 个答案:

答案 0 :(得分:0)

尝试此操作以查找LetterInputDisplayWord的所有位置:

LetterPositions = [m.start() for m in re.finditer(LetterInput, DisplayWord)]

例如:

>>> LetterInput = 'A'
>>> DisplayWord = 'ALMANAC'
>>> LetterPositions = [m.start() for m in re.finditer(LetterInput, DisplayWord)]
>>> LetterPositions
[0, 3, 5]

答案 1 :(得分:0)

>>> def positions(letter,input_letter):
...     return [ i for i,x in enumerate(letter) if input_letter == x  ]
... 
>>> positions('ALMANAC','A')
[0, 3, 5]

如果input_letter等于它给出i,那就是' A'

的位置