Минималистичный поиск по спискам с дальнейшим его определением
Допустим есть два списка:
list_1 = [1, 2, 3]
list_2 = [4, 5, 6]
И значение:
item = 3
Нужно определить в каком списке находится это значение и отправить этот список дальше в метод (напр. any_method(specific_list=...))
P.s. Вроде вопрос простой, но получается километровый код, интересно посмотреть на решение со стороны
Ответы (3 шт):
Автор решения: Danis
→ Ссылка
if item in list_1:
any_method(specific_list=list_1))
elif item in list_2:
any_method(specific_list=list_2))
Автор решения: Zhihar
→ Ссылка
если списков будет много, то можно сделать так:
arr = [
[7, 11, 15],
[1, 2, 3],
[4, 5, 6],
]
item = 3
any_method(list(filter(lambda obj: item in obj, arr))[0])
правда все равно надо или в исключения заворачивать или учитывать, что ни одного списка может быть не найдено
или так:
any_method(next(filter(lambda obj: item in obj, arr), []))
тут как раз учитывается ситуация, когда ничего не будет найдено и тогда будет возвращен пустой список