我有 2 个列表
a = [1,9] # signifies the start point and end point, ie numbers 1,2,3,4,5,6,7,8,9
b = [4,23] # same for this.
现在我需要确定 a 中的数字是否与 b 中的数字相交。
我可以通过制作一个来自 a 和 b 的数字列表,然后将这两个列表相交来实现,但我正在寻找更多 pythonic 解决方案。
有没有更好的解决办法
我的 o/p 应该是 4,5,6,7,8,9
请您参考如下方法:
这是使用相交的两个列表:
c = list(set(range(a[0],a[1]+1)) & set(range(b[0],b[1]+1)))
>>> print c
[4,5,6,7,8,9]
这是使用 min 和 max:
>>> c = range(max([a[0],b[0]]), min([a[1],b[1]])+1)
