Как найти индекс заданного значения во вложенном списке в Python? - PullRequest
1 голос
/ 30 января 2020

Я просматриваю вложенный список ниже, нахожу 1, затем печатаю индекс этого списка.

my_list = [['Hello', 'World','!'],[1, 3, 'Test', 5, 7],[2, 4]]

for item in range(len(my_list)):
    for item2 in range(len(my_list[item])):
        output = my_list[item][item2]
        if output == 1:
            print('the index of 1 is [%d][%d] ' % (item.item2))

Возвращенные циклы AttributeError: 'int' object has no attribute 'item2'

Может кто-нибудь сказать мне, как почини это? Спасибо за помощь!

Ответы [ 3 ]

1 голос
/ 30 января 2020

В вашем коде все выглядит нормально, просто сделайте формататор строк кортежем. Измените последнюю строку вашего кода следующим образом:

print('the index of 1 is [%d][%d] ' % (item,item2))
1 голос
/ 30 января 2020

Я использовал enumerate во вложенном списке, чтобы использовать как индекс элемента в списке, так и соответствующий элемент списка.

Чтобы найти индекс элемента, используйте метод list_name.index(value).

Используйте in для проверки членства, т.е. для проверки наличия значения в списке.

my_list = [['Hello', 'World','!'],[1, 3, 'Test', 5, 7],[2, 4]]

for i, item in enumerate(my_list):
    if 1 in item:
        print('Index of 1 is [{}][{}]'.format(i,item.index(1)))

Выход:

0 голосов
/ 30 января 2020
for i in my_list:
    if 1 in i:
        print(str(i.index(1)) + "th element of " + str(i))

Это выводит

0th element of [1, 3, 'Test', 5, 7]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...