函数min
和max
非常灵活;它们可以采用任意数量的参数,也可以采用可迭代的单个参数。在获取任何大小的可迭代时,any
和all
类似,但它们不会使用多个参数。是否存在这种行为差异的原因?
我意识到这个问题似乎无法回答,但增强Python的过程非常开放;许多看似随意的设计决策都是公共记录的一部分。我已经看到过去回答的类似问题了,我希望这个问题也可以。
受此问题的启发:Is there a builtin function version of and
and/or or
in Python?
答案 0 :(得分:1)
Python中的许多功能都是根据用户需要的数量来建议的,但是它们也必须符合语言的风格。人们经常需要这样做:
max_val = 0
for x in seq:
# ... do complex calculations
max_val = max(max_val, result)
保证使用多个参数。它看起来也不错。我没有听说有人需要使用any(x, y, z)
,因为它最常用于序列。对于少量值,您可以使用and
/ or
逻辑运算符,对于很多值,您确实应该使用列表或者代码变得混乱。我确信没有太多的想法进入这个因为它真的不会让任何人受益,它没有大量需求所以Python开发人员不担心它。