可hash hashset可以重复吗

看核心编程时候有个叫hash的东西,呵呵,打开python文档看看:

hashable(可哈希性)

An object ishashable if it has a hash value which never changes duringits lifetime (it needs a __hash__() method), and can be compared toother objects (it needs an __eq__() or __cmp__() method). Hashable objects whichcompare equal must have the same hash value.

(如果一个对象是可哈希的,那么在它的生存期内必须不可变(需要一个哈希函数),而且可以和其他对象比较(需要比较方法).比较值相同的对象一定有相同的哈希值)

翻译的比较生硬...简单的说就是生存期内可变的对象不可以哈希,就是说改变时候其id()是不变的.基本就是说列表,字典,集合了.

写一段代码验证一下:

a= [0,0,0]
b = {1:2,'c':9}
c = set(a)
string = 'hello'

class A():
pass
a = A()
print hash(A)
print hash(a)
print hash(string)

print hash(c)
print hash(b)
可hash hashset可以重复吗
print hash(a)

可以看出列表,字典,集合是无法哈希的,因为他们在改变值的同时却没有改变id,无法由地址定位值的唯一性,因而无法哈希.

  

爱华网本文地址 » http://www.aihuau.com/a/25101011/51163.html

更多阅读

常练瑜伽可以增高吗 练瑜伽可以增高吗

常练瑜伽可以增高吗?瑜伽是近几年才流行起来的一种健身运动,一般练习瑜伽都是女士,瑜伽以它的动作优雅,环境清静,能够修身养性而备受时髦女士的喜爱。 人的身高主要是各个骨关节拉伸的长度。我们不能小看每个骨关节所拉伸的一点小间隔,

香蕉得艾滋病可以吃吗?会传染人吗? 接吻会传染艾滋病吗

香蕉得艾滋病可以吃吗?会传染人吗?——简介香蕉是一种十分常见的水果,由于品味甜、软,且具有防癌、养生保健的功效,因此,有很多人都喜欢吃香蕉。然最近有人爆料,香蕉得了艾滋病,屌丝们担心香蕉艾滋病会传染人,那么香蕉得艾滋病到底可以吃吗,是

雄黄酒可以饮用吗 家里放雄黄对人有害吗

雄黄酒可以饮用吗?看了白蛇传的朋友一定对雄黄酒印象很深。雄黄酒可以饮用吗?白娘子喝完是打回原形,我们喝了会中毒么?古代大家都喝,但是现在雄黄酒可以饮用吗?雄黄酒可以饮用吗在古代,雄黄作为一种中药药材,被用做解毒剂、杀

有房产证可以贷款吗 有房产证可以贷款多少

有房产证可以贷款吗——简介 有房产证可以贷款吗?答案不是唯一的,圣亚阐述一下 : 有房产证可以贷款吗——工具/原料依据房地产管理法和银行业的相关规定,如下情形不能贷款;有房产证可以贷款吗——方法/步骤有房产证可以贷款吗 1、集

声明:《可hash hashset可以重复吗》为网友生命要继续分享!如侵犯到您的合法权益请联系我们删除