在python中是否有任何可清除的内置对象是可变的?

时间:2016-08-03 18:55:19

标签: python dictionary hashable

好奇我们是否可以使用hash()来检查对象是否可变?

1 个答案:

答案 0 :(得分:3)

>>> from collections.abc import Hashable
>>> mutable = [list, bytearray, set, dict]
>>> immutable = [int, float, complex, str, tuple, frozenset, bytes]
>>> all(isinstance(x(), Hashable) for x in immutable)
True
>>> any(isinstance(x(), Hashable) for x in mutable)
False

所有可变对象都是不可用的。