010-Python语言开发PythonComputation(四)

 

 

 

哈希算法hash

哈希算法是将一个可变长度的数据映射到一个固定长度数据的算法

什么意思呢

就是无论什么一个什么样的多长多短的数据

经过哈希算法计算之后,会变成一个固定长度的数据

 

我们来举个例子

我们来看看python里面的hash()方法

print(hash('a'))
print(hash('aa'))
print(hash('aaa'))
print(hash('abc'))
print(hash('abcabc'))
print(hash(1))
print(hash(2))
print(hash(3))
print(hash(123))
print(hash('1'))
print(hash('2'))
print(hash('3'))

结果是

 

我们看到计算出来得到一个整数,长短都是一样的

但是整数,1,2,3,123,计算出来还是原来的整数

 

 

 

 

所有的python中的不可变对象是hashable的

比如number, boolean, string, tuple等等

但是

list和dictionary是不可哈希的,不能进行hash计算

 

 

 

 

 

dictionary和mapping

Mapping类型是可变的
有len(),,min(),,max()等方法

Dictionary是Mapping的一种

 

 

 

 

 

Unordered Collection无序集合

无序集合是按照hash来排列的

也就是说key全都是按照hash来排列

 

来看看dictionary怎么用

d = {1: 'a', 2: "b"}
print(d)
print(d[1])
print(d[2])

d = {'name': 'Eddie', 'age': 20}
print(d)
print(d['name'])
print(d['age'])

if 'name' in d:
    print('yes')
else:
    print('no')

if 'Eddie' in d:
    print('yes')
else:
    print('no')

结果是

 

 

 

 

 

sequence和dictionary的转换与使用

dict()

items()

keys()

values()

写点代码看看

s = [['name', 'Eddie'], ['age', 20]]
d = dict(s)
print(d)

print(d.items())
print(d.keys())
print(d.values())

print(list(d.items()))
print(list(d.keys()))
print(list(d.values()))

for item in d.items():
    print(item)
    print(item[0],item[1])

for key in d.keys():
    print(key)

d.clear()
print(d)

结果是

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值