2014-11-18 2 views
-1

Это код, который я получил, чтобы получить один элемент в списке:Получение более одного индекса из пункта в списке

LetterInput = 'A' 

LetterPositions = (DisplayWord.index(LetterInput)) 

DisplayWord происходит из внешнего файла (который сделан в виде списка) который выглядит следующим образом:

ACQUIRED 

ALMANAC 

INSULT 

JOKE 

HYMN 

GAZELLE 

AMAZON 

EYEBROWS 

AFFIX 

VELLUM 

Я хочу, чтобы изменить его, так что все позиции A есть, сохраняется в списке, поскольку есть более чем одна позиция A может быть.

+0

так что вам нужно положение для каждого 'A' в каждом слове? Итак, список списков? –

ответ

0

Попробуйте найти все позиции LetterInput в DisplayWord:

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] 
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'

+0

надеюсь, это помогло вам – Hackaholic

Смежные вопросы