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.

→ Ссылка