所以我想测试列表是否已排序。阅读完page之后,我做到了这一点:
ll = [ 0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15 ]
all(b >= a for a, b in zip(ll, ll[1:]) )
输出
<generator object <genexpr> at 0x10d9ecaa0>
好的,all()
返回一个生成器。但这就是Python文档中关于all()
所说的内容:
如果iterable的所有元素都为真(或者如果是),则返回True iterable是空的)
我缺少什么?
答案 0 :(得分:11)
这是那些愚蠢的明星进口问题:
from numpy import *
ll = [ 0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15 ]
all(b >= a for a, b in zip(ll, ll[1:]) )
#>>> <generator object <genexpr> at 0x7f976073fdc0>
Python的all
工作正常。
您可以通过python2中的__builtin__
模块和python3中的builtins
模块访问它:
import __builtin__
__builtin__.all(b >= a for a, b in zip(ll, ll[1:]))