2024-06-16 09:28:40 发布
网友
我正在编写一个小函数来检查列表中的所有元素是否都小于或等于一个限制。这只是为了练习,不应该使用任何循环。在
def small_enough(a, limit): return all(x <= limit for x in a) small_enough([66, 101], 200)
在这方面已经有一段时间了,但是我找不到任何替代代码来替换for循环。这个虽然代码运行得非常好,但是我试图在不使用循环的情况下得到结果。试着写些更“Python”的东西。在
for
当然,您可以在这里使用递归:
def small_enough(a, limit): if a: return a[0] <= limit and small_enough(a[1:], limit) else: return True
甚至是
但是你的解决方案确实比这个更具可读性。此外,递归doesn't actually avoid looping,只是看起来不同而已。在
总的来说
f(x) for x in xs == map(f, xs)
所以
如果使用numpy是可以的,您可以这样做
numpy
import numpy as np x = np.asarray([66,101]) print(all(x <= 200))
当然,您可以在这里使用递归:
甚至是
^{pr2}$但是你的解决方案确实比这个更具可读性。此外,递归doesn't actually avoid looping,只是看起来不同而已。在
总的来说
所以
^{pr2}$如果使用
numpy
是可以的,您可以这样做相关问题 更多 >
编程相关推荐