python判断某个对象是否可以做一个字典的键多方法
2011-01-20 15:32
876 查看
内建函数 hash()本身并不是为字典设计的方法,
但它可以判断某个对象是否可以做一个字典的
键。将一个对象作为参数传递给 hash(), 会返回这个对象的哈希值。 只有这个对象是可哈希的,
才可作为字典的键 (函数的返回值是整数,不产生错误或异常)。
如果用比较操作符来比较两个数值,发现它们是相等的,那么即使二者的数据类型不同, 它
们也会得到相同的哈希值。
如果非可哈希类型作为参数传递给 hash()方法,会产生 TypeError 错误(因此,如果使用这样的
对象作为键给字典赋值时会出错):
>>> hash([])
Traceback (innermost last):
TypeError: list objects are
>>>
>>> dict2[{}] = 'foo'
Traceback (most recent call
TypeError: dict objects are
File "<stdin>", line 1, in ?
unhashable
last): File "<stdin>", line 1, in ?
unhashable
但它可以判断某个对象是否可以做一个字典的
键。将一个对象作为参数传递给 hash(), 会返回这个对象的哈希值。 只有这个对象是可哈希的,
才可作为字典的键 (函数的返回值是整数,不产生错误或异常)。
如果用比较操作符来比较两个数值,发现它们是相等的,那么即使二者的数据类型不同, 它
们也会得到相同的哈希值。
如果非可哈希类型作为参数传递给 hash()方法,会产生 TypeError 错误(因此,如果使用这样的
对象作为键给字典赋值时会出错):
>>> hash([])
Traceback (innermost last):
TypeError: list objects are
>>>
>>> dict2[{}] = 'foo'
Traceback (most recent call
TypeError: dict objects are
File "<stdin>", line 1, in ?
unhashable
last): File "<stdin>", line 1, in ?
unhashable
相关文章推荐
- python:判断一个对象是否可迭代 的方法
- python使用any判断一个对象是否为空的方法
- python判断一个对象是否为空的方法
- python使用any判断一个对象是否为空的方法
- 判断一个对象是否可迭代 的方法 分类: python 2015-03-27 12:20 82人阅读 评论(0) 收藏
- 在python中判断一个键是否存在于字典中的方法
- Python检测一个对象是否为字符串类的方法
- 写一个递归方法,传入一个Map,返回这个Map对象中一共有多个Map类型的对象 Map中是可以添加Map,被添加的这个Map也可以添加Map,所以需要判断传入的Map对象的所有子节点,如果是Map就
- python判断一个集合是否包含了另外一个集合中所有项的方法
- 判断比较两个对象是否是一个对象(equals方法)
- 判断python字典中key是否存在的两种方法
- 判断一个对象是否实现了某方法,而非继承而来
- 判断一个对象是否为jquery对象的方法
- Python--判断一个字符串是否包含某子串的几种方法
- JVM如何判断一个Java对象是否可以回收
- python判断一个字符串是否为另一字符串的子串的几种方法
- 如何判断一个C++对象是否在堆栈上(通过VirtualQuery这个API来获取堆栈的起始地址,然后就可以得到答案了),附许多精彩评论
- python3判断字典、列表、元组为空以及字典是否存在某个key的方法
- iphone上面判断一个对象是否是某个类的对象的方法
- python脚本判断一个数是否为素数的几种方法