我有一个排序列表,一个范围包含多个列表:
>>> n= [10, 20, 30, 40]
>>> m= [[1, 20], [21, 30]]
我想做的是检查 n
列表中的所有元素是否都在 m
中的现有范围内。例如,在上面的示例中,40 不在任何范围内。
我试图在下面的帖子中扩展问题的答案,但似乎不起作用。
Checking if all elements of a List of Lists are in another List of Lists Python
is_there = set(tuple(x) for x in [n]).issubset(tuple(x) for x in m)
最佳答案
您应该遍历 n
中的每个元素,并检查它是否在 m
的每个列表的范围内。假设您只使用整数:
[any(x in range(r[0], r[1]) for r in m) for x in n]
如果你想包括范围的末尾,只需添加 1:
[any(x in range(r[0], r[1]+1) for r in m) for x in n]
关于python - 检查范围的元素是否在列表的列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56533795/