У меня есть два списка списков, один из которых включает в себя все записи, например [['eggs', 'milk', 'butter'], ['ham', 'spam', 'milk'], ['cereal', 'skittles']]
, а другой содержит правила [['milk', 'eggs'], ['milk','ham']]
.
Я пытаюсь отфильтровать записи по list_of_rules, однако хочузахват [['eggs', 'milk', 'butter'], ['ham', 'spam', 'milk']]
несмотря на то, что он не совсем соответствует [['milk', 'eggs'], ['milk','ham']]
порядку и дополнительным пунктам, мудрым.
records = [['eggs', 'milk', 'butter'], ['ham', 'spam', 'milk'], ['cereal', 'skittles']]
list_of_rules = [['milk', 'eggs'], ['milk','ham']]
# this list comprehension only filters for exact matches
results = [[x for x in L if x in records] for L in list_of_rules]
# expected output
print(results)
>>[['eggs', 'milk', 'butter'], ['ham', 'spam', 'milk']]
Любые и все рекомендации очень ценятся.