>>> from numpy import mean
>>> mylist = []
>>> mean(mylist) if mylist is not [] else None
nan
我认为测试应该首先在三元运算符中进行评估。我期待None
。为什么我会改为nan
?
修改:为什么空列表与[]
完全相同?
答案 0 :(得分:5)
测试
mylist is not []
不会检查mylist
是否为空。它检查它是否与另一个空列表完全相同。
你应该使用:
mean(mylist) if mylist else None