Удаление суперсетами когда подсписки сравнивают с другими подсписков в течение list_of_listsматч питона список
Вход:
my_list = [['cat','bat'],['sat','rat','mat'],['cat','bat','hat'],['pat','mat']]
Здесь [ «кошка», «летучая мышь»] является подмножеством [ «кошка», 'летучая мышь', 'шляпа'] Так что мне нужно, чтобы удалить супернабор [ 'кошка', 'летучая мышь', 'шапка'] из my_list
Желаемая Вывод должен быть:
my_new_list = [['cat','bat'],['sat','rat','mat'],['pat','mat']]
Я нашел подобный поток, но не смог реализовать тот же код для сравнения подсписок друг с другом. Кто-нибудь может мне с этим помочь?
def match(my_list[],my_list[]):
matches = set(my_list[]).issuperset()
return [remove(my_list[]) for sublist in my_list if matches (sublist)]
определение функции соответствия (MyList): MyList = [множество (Подсписок) для подсписка в MyList] mynewlist = [список (подмножество) для подмножества в MyList, если не any (not subset == testset и subset.isubset (testset))] return mylist' – Belle
Я отредактировал мое сообщение, вы хотите новую версию :) –