查找Python中的哈希值是否只有None值

Ben*_*are 2 python hash

有没有人知道更好的方法来查找Python中的散列是否只有None值len([entry for entry in my_hash.values() if entry is not None]) > 0?我找不到比这更标准的东西,似乎应该有.

Cor*_*mer 6

你可以用

all(entry is None for entry in my_hash.values())
Run Code Online (Sandbox Code Playgroud)

这将在达到第一个非None值时发生短路,因此您无需评估所有项目.既然None是假的你可以简化这个

not any(my_hash.values())
Run Code Online (Sandbox Code Playgroud)

除非你的一些价值观有其他falsey项目(如0,''等)