【问题标题】:Counting Values That Are Between an X and Y Coordinate计算 X 和 Y 坐标之间的值
【发布时间】:2017-07-17 21:31:46
【问题描述】:

我有一整套数据。该数据位于 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... 我可以做到。但是,如果有两个约束,我很难弄清楚如何处理这个问题。

非常感谢!

【问题讨论】:

标签: python tuples counter counting


【解决方案1】:

您可以使用and 来声明两个条件都应满足。例如:

sum(5&lt;=x&lt;=7 <b>and</b> 4&lt;=y&lt;=6 for x,y in coord_list)

带有coord_list 的坐标列表。请注意,为了满足计数应该为 2 的事实,您应该使用 小于或等于 (&lt;=) 运算符而不是 小于 运算符 (@987654325 @)。

这会产生:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-07
    • 2015-08-16
    • 2011-10-01
    • 2020-06-16
    相关资源
    最近更新 更多