python - 检查范围的元素是否在列表的列表中

标签 python list range

我有一个排序列表,一个范围包含多个列表:

>>>  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/

相关文章:

Python - 打包源分发

python - 如何使用nose_parameterized参数化setUp方法

linux - 按修改时间对文件(包括所有子目录中的文件)进行排序

r - 将列表匹配到 R 中的矩阵行

java - 在java中使用较低、较高、正确选项猜测数字

python - 根据大型数据集的子字符串的出现修改一列文本数据的有效方法?

python - PyQT4 : Drag and drop files into QListWidget

将每个元素映射到该元素的字段的 Java Collection

javascript - 无法在 'getRangeAt' : 0 is not a valid index 上执行 'Selection'

javascript - 为什么 Range.getBoundingClientRect() 会为 textarea 内的范围返回 0?