为记录学习的过程
python中 散列值 hash()
在字典dict中 每个键值对的key 存储到 内存中都是以散列值 地址值key 的方式存储的
每次获取相同值的散列值都是相等的 这样保证了一致性 ,假如重启项目 则散列值会发生变化
如果是数字类型的散列值 hash(123455) 数字在python 中 其数字本身就是对应的散列值
print(hash("abc"))
print(hash("bcd"))
print(hash(1233211234))
print(hash("abc"))
dict1={1233211234:"aaaaa","name":"张三"}
dict2={1233211234:"bbbbb","name":"李四"}
for k,v in dict1.items():
if k == 1233211234:
print(hash(k))
for k,v in dict2.items():
if k == 1233211234:
print(hash(k))
dict2 = {"name": "张三", "age": 13, "birthday": "2020-01-01"}
print(dict2)
print("ages" in dict2)
print("name1" in dict2)
dict2["name"] = "李四"
print(dict2)
dict2.update(name="王五", age=18)
print(dict2)
dict2["address"] = "重庆"
print(dict2)
dict2.update(address="北京")
print(dict2)
print("xxxxx" * 10)
delete = dict2.pop("address", "这是未删除到返回的默认值")
print(dict2.pop("address22", "这是未删除到返回的默认值"))
print(delete)
print(dict2)
delete2 = dict2.popitem()
print(delete2)
print(dict2)
dict2.clear()
print(dict2)
name1 = {"name": "张三", "age": 13, "grade": "b+"}
name2 = {"name": "李四", "age": 18}
name2.setdefault("grade", "c")
print(name1)
print(name2)
keys = name1.keys()
values = name1.values()
items = name1.items()
print()
print(values)
print(items)
name1["address"] = "重庆"
print(keys)
print(values)
print(items)
str1 = "我的名字是:{name},今年{age}岁了,我来自{address}".format_map(name1)
print(str1)