Python обрабатывает di git и плавает как тот же индекс в списке - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь найти значение индекса списка из приведенного ниже кода.

a = [4.5, 6 , "hi" , 6.0]
for b in a:
    if type(b)==float:
        print(a.index(float(b))+0, b , id(b))
    else:
        print(a.index(b)+0 , b , id(b))

То, что я нашел для значения "6" и "6.0", занимает ту же самую позицию индекса из выходных данных. Как получить разные значения индекса для каждого значения в списке.

1 Ответ

0 голосов
/ 24 марта 2020

Функция list.index не написана для различения типов. Если вы хотите этого, вам придется написать свою собственную функцию. Использование перечисления в вашем l oop даст реальный индекс.

a = [4.5, 6 , "hi" , 6.0]
for idx, b in enumerate(a):
    if type(b)==float:
        print(idx, b , id(b))
    else:
        print(idx , b , id(b))

Вы можете заключить этот код в функцию для создания новой чувствительной к типу индексной функции, которая возвращает только idx.

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