我想了解如何any()与all()Python的内置函数的工作.
我试图比较元组,以便如果任何值不同,那么它将返回True,如果它们都是相同的,它将返回False.他们如何在这种情况下返回[False,False,False]?
d是一个defaultdict(list).
print d['Drd2']
# [[1, 5, 0], [1, 6, 0]]
print list(zip(*d['Drd2']))
# [(1, 1), (5, 6), (0, 0)]
print [any(x) and not all(x) for x in zip(*d['Drd2'])]
# [False, False, False]
Run Code Online (Sandbox Code Playgroud)
据我所知,这应该输出
# [False, True, False]
Run Code Online (Sandbox Code Playgroud)
因为(1,1)是相同的,(5,6)是不同的,并且(0,0)是相同的.
为什么所有元组的评估为False?
python ×1