获取哈希表中满足某些算术属性的所有键

比方说,我有一个哈希表,每个键都定义为具有4个整数(A,B,C,D)的元组。其中,整数表示某个属性的数量,其对应的值是满足(A,B,C,D)的齿轮的元组。

我想编写一个执行以下操作的程序:对于任何给定的属性元组(x,y,z,w),我想找到所有满足条件的键(| A-x | + | B-y | + | C-z | + | D-w |)/ 4 | A-x |表示A-x 的绝对值)

以我的经验,可以通过Answer set编程,Haskell,Prolog和所有此类逻辑编程语言来更好地完成这种事情,但是我被迫使用python,因为这是一个python项目...

我可以为特定的“ i”硬编码,但我真的不知道如何对任意整数执行此操作。请告诉我如何用纯Python做到这一点,非常感谢!!!!

ilovec_ola 回答:获取哈希表中满足某些算术属性的所有键

只需编写一个遍历表中所有值并逐个检查它们的函数。该函数将表格和i作为参数。

,

您可以使用条件列表理解:

[key for key in my_hashtable 
 if  sum(abs(k - val) for k,val in zip(key,(x,y,z,w))) / 4 <= i]
本文链接:https://www.f2er.com/3088134.html

大家都在问