У меня есть список, который может содержать несколько элементов разных типов. Мне нужно проверить, есть ли в этом списке один или несколько элементов определенного типа и получить его индекс.Найти элемент в списке по типу
l = [1, 2, 3, myobj, 4, 5]
я могу достичь этой цели, просто перебрать свой список и проверить тип каждого элемента:
for i, v in enumerate(l):
if type(v) == Mytype:
return i
есть более вещий путь для достижения того же результата?
ли вам нужны индексы всех элементов этого типа, или только первый ? – BrenBarn
@BrenBarn В моем конкретном случае мне нужен только первый, но было бы оценено «общее» решение. – Nick
Вы можете использовать понимание или генератор exp - однако это означало бы, что вам нужно пройти весь список, чтобы увидеть, есть ли по крайней мере один. Ваш метод более эффективен для ИМО. – karthikr