计算X和Y坐标之间的值

时间:2017-07-17 21:31:47

标签: python tuples counter counting

我有一整套数据。该数据位于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 ......我能做到这一点。但是,如果有两个限制条件,我就无法弄清楚如何处理这个问题。

非常感谢你!

1 个答案:

答案 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]