python - 通过其子集选择列表的元素
问题描述
我有以下列表:
t0=[['a'],
['a', 'h'],
['a', 'd', 'k', 'r', 'v'],
['a', 'b', 'c', 'k'],
['a', 'b', 'c', 's', 'u'],
['a', 'b', 'f', 't'],
['a', 'b', 'e', 'l', 'n', 'o'],
['a', 'b', 'd', 'n', 'o'],
['a', 'b', 'd', 'e', 'n', 'o'],
['a', 'b', 'd', 'e', 'm', 'n', 'o', 't']]
和
t1=[['a', 'b'], ['a', 'c'], ['a', 'd']]
对于 t1 中的每个元素,我想通过 t0 并选择 t1 是子集的元素,输出应如下所示:
[[["a", "b", "c", "k"], ["a", "b", "c", "s", "u"], ["a", "b", "f", "t"], ["a", "b", "e", "l", "n", "o"], ["a", "b", "d", "n", "o"], ["a", "b", "d", "e", "n", "o"], ["a", "b", "d", "e", "m", "n", "o", "t"]],
[["a", "b", "c", "k"], ["a", "b", "c", "s", "u"]],
[["a", "d", "k", "r", "v"], ["a", "b", "d", "n", "o"], ["a","b", "d", "e", "n", "o"], ["a", "b", "d", "e", "m", "n", "o","t"]]]
因此,例如,第一个元素是['a','b']
输出的第一个元素将是 t0 的那些元素,其中['a','b']
是它们的子集。我想知道如何编写一个函数来做到这一点?
解决方案
我认为这就是你要找的:
[[j for j in t0 if set(i) <= set(j)] for i in t1]
推荐阅读
- android - Android - Firebase 使用 Microsoft 登录
- c - 将要存储在 int 中的左移短是未定义的吗?
- regex - 与 KATE 正则表达式的非贪婪/惰性匹配
- javascript - 如何检查当前日期是否与javascript中日期列表中的日期相同?
- python - 在 conda 环境中安装 Python 和 R
- jenkins - AWS CLI 查询 Cloudformation 以填充 Jenkins 可扩展选择参数
- c# - 从正常的 try/catch 中抛出自定义异常
- c# - 按季度的周分组日期
- android - 如何阻止子 Linearlayout 与父 Linearlayout 圆角重叠?
- java - HMS核心地图套件,地图加载但不渲染