我有一整套数据。该数据位于x和y坐标中。我正在尝试编写一个计算x和y坐标之间数据量的程序...... 例如,让我们说我有
(3,4)
(6,3)
(7,6)
(5,5)
(6,7)
我只能计算5<x<7 and 4<y<6
然后,这个程序计算的坐标是:
(5,5)
(7,6)
所以我会得到2.
如果我只设置一个约束,我可以弄清楚如何做到这一点...例如,如果我只有一个1,2,3,4,5,6,7,8的列表,需要计算数字3<x<7
......我能做到这一点。但是,如果有两个限制条件,我就无法弄清楚如何处理这个问题。
非常感谢你!
答案 0 :(得分:1)
您可以使用and
声明应满足这两个条件。例如:
sum(5<=x<=7 and 4<=y<=6 for x,y in coord_list)
coord_list
坐标列表。请注意,为了满足计数应为2的事实,您应该使用小于或等于(<=
)运算符而不是小于运算符( <
)。
这会产生:
>>> coord_list = [(3,4),(6,3),(7,6),(5,5),(6,7)]
>>> sum(5<=x<=7 and 4<=y<=6 for x,y in coord_list)
2
您可以获取坐标的列表,例如使用列表理解:
[(x,y) for x,y in coord_list if 5<=x<=7 and 4<=y<=6]
如果一个点中的元素数是任意的,最好使用索引:
[t for t in coord_list if 5<=t[0]<=7 and 4<=t[1]<=6]