Python получение подсписка списка,зная элемент подсписка
Столкнулся с такой проблемой: нужно сделать проверку на наличие объекта в подсписках одного списка, и, если он есть, то получить подсписок(можно с помощью других библиотек). Например(но данный пример медленный):
For i in list:
If object in i:return i
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Перебор списков всегда медленный. Если вам эту операцию надо будет много раз проделывать, то предлагаю сделать словарь, пройтись по подспискам и добавить в словарь по ключу 'элемент' все подсписки, в которых он найден. Потом можно будет моментально нужные подсписки искать:
from collections import defaultdict
# заполнение словаря прогнать один раз
d = defaultdict(list)
for sub_list in my_list:
for obj in sub_list:
d[obj].append(sub_list)
# потом можно быстро искать все подсписки в которых есть object таким образом
print(d[object])
P.S. Поменял код, сначала не то что задумал написал. И постарайтесь не называть свои объекты стандартными словами языка Python, такими какlist.