概述
result = [[188, 260, 609, 398],
[97, 471, 162, 496],
[254, 472, 569, 492],
[96, 518, 148, 545],
[256, 522, 381, 562]]
要求将result进行分组,条件是:
如果每个子元素中的第2个和第4个元素区间,存在交叉,即max(a[1], b[1) <min(a[3], b[3])(a, b为列表中的任一子列表),则将该两个子列表,归为一组。
结果为:
[
[[188, 260, 609, 398]], #260-398与下面的区间没有交叉,独立一组
[[96, 518, 148, 545]],
#518-545与下面的区间没有交叉,独立一组
[[97, 471, 162, 496], [254, 472, 569, 492]], #471-496的区间,与472-492的区间存在交叉,
[[256, 522, 381, 562]] #522到562的区间存在交叉
]
#!/usr/bin/env python
result = [[188, 260, 609, 398],
[97, 471, 162, 496],
[254, 472, 569, 492],
[96, 518, 148, 545],
[256, 522, 381, 562]]
# 不符合的列表
list1 = []
#遍历每一个列表,用
for..in
for i in result:
#用元组取出第2个和第4个元素,可以自动的设备最大值与最小值的排序
li = (i[1],i[3])
li1 = (i[0],i[2])
if li[0] > li1[0] and li[1] > li1[1] :
pass
else:
result.remove(i)
list1.append(i)
print(result)
print(list1)
简简单单的编程一步步开始
最后
以上就是落后早晨为你收集整理的python小技巧:符合列表区间的数组的全部内容,希望文章能够帮你解决python小技巧:符合列表区间的数组所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复