代码拉取完成,页面将自动刷新
"""
哈希存储:通常情况下如果能够使用一个优质的哈希函数(哈希码冲突的概率很低),
那么哈希存储的性能将会非常的优异,基本上是常量级时间复杂度实现读写操作。
如果发生了哈希冲突,就需要使用对应的算法解决哈希冲突,Python中的集合使用了
开放地址法的方式来解决哈希冲突。
MySQL支持很多种存储引擎,5.5+版本默认是用InnoDB引擎
~ MyISAM
~ Memory -----> 哈希索引
"""
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f'{self.name}: {self.age}'
def __hash__(self):
return hash((self.name.lower(), self.age))
def __eq__(self, other):
return self.name.lower() == other.name.lower() and self.age == other.age
def main():
set1 = {1, 1, 2, 2, 2, 1, 3, 3, 3, 5}
print(set1)
set2 = {
Person('WangDachui', 20), Person('WangDachui', 18),
Person('WangDachui', 20), Person('WANGDachui', 20)
}
print(len(set2))
for person in set2:
print(id(person))
print(person)
if __name__ == '__main__':
main()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。