我在Python方面有点问题。我有一本二维字典。我们现在就叫它dict[x,y]。x和y是整数。我尝试只选择4个点之间匹配的密钥对值。函数应如下所示:
def search(topleft_x, topleft_y, bottomright_x, bottomright_y):
For example: search(20, 40, 200000000, 300000000)
Now are Dictionary-items should be returned that match to:
20 < x < 20000000000
AND 40 < y < 30000000000
这个巨大矩阵中的大多数密钥对值都没有设置(见图-这就是为什么我不能迭代)。你知道吗
此函数应返回一个简短的字典。在图中所示的示例中,它将是一个带有3个绿色圆圈值的新字典。有什么简单的解决办法可以实现这一点吗? 我最近使用了2-for-loops。在本例中,它们如下所示:
def search():
for x in range(20, 2000000000):
for y in range(40, 3000000000):
try:
#Do something
except:
#Well item just doesnt exist
当然,这是非常低效的。所以我的问题是:如何在Python中增强这个简单的东西?在C#我用Linq做这样的东西。。。在python中使用什么?你知道吗
谢谢你的帮助!你知道吗
您不需要遍历随机数范围和ask 4million times for forgiveness-您使用2个数字范围来指定“过滤器”,并且只遍历字典中属于这些范围的现有键:
输出:
了解一下提供稀疏矩阵的模块可能会很有用。你知道吗
相关问题 更多 >
编程相关推荐