【发布时间】:2019-04-03 20:55:39
【问题描述】:
我有两个列表列表,一个包含所有记录,例如[['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']]
非常感谢任何和所有建议。
【问题讨论】:
标签: python python-3.x list list-comprehension