Python Список индексации для поиска номера проиндексированного элемента, если элемент такой же - PullRequest
0 голосов
/ 07 мая 2020

Я пытаюсь найти индексированную версию для нескольких элементов в списке, например

testarray = ["l","hello","l","l"]

for x in testarray:
    if x == "l":
        print(testarray.index(x))

Я хочу, чтобы желаемый результат был 1, 3, 4, но я получаю 1,1,1

1 Ответ

0 голосов
/ 07 мая 2020

Это потому, что list.index возвращает индекс первого вхождения элемента, чтобы исправить это, вы можете l oop через индексы и значения, используя enumerate:

testarray = ["l", "hello", "l", "l"]

for i, x in enumerate(testarray, 1):
    if x == "l":
        print(i)

Вывод:

1
3
4

В for i, x in enumerate(testarray, 1), i в индексе, x - это значение, а второй параметр 1 в enumerate указывает ему начать отсчет с 1 вместо по умолчанию 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...