如何在python中找到范围重叠?

Python中确定两个范围中的哪些值重叠的最佳方法是什么?

例如:

x = range(1,10)

y = range(8,20)

(The answer I am looking for would be the integers 8 and 9.)

给定一个范围x,最好的方法是迭代另一个范围y并输出两个范围共享的所有值?在此先感谢您的帮助。

编辑:

作为后续,我意识到我还需要知道x是否与y重叠。我正在寻找一种方法来遍历范围列表,并做一些范围重叠的其他事情。是否有简单的True / False语句来完成此操作?

回答:

尝试设置交集:

>>> x = range(1,10)

>>> y = range(8,20)

>>> xs = set(x)

>>> xs.intersection(y)

set([8, 9])

请注意,intersection接受任何可迭代的参数作为参数(y不需要将其转换为该操作的集合)。有一个等效于该intersection方法的运算符:&但是,在这种情况下,它要求两个参数都必须是set 。

以上是 如何在python中找到范围重叠? 的全部内容, 来源链接: utcz.com/qa/422312.html

回到顶部