python3.11新特性

字典需要注意:
1.键必须可散列(哈希)
(1) 数字、字符串、元组,都是可散列的。对于list这种元素按照插入的顺序线性排列,不是可散列的
(2) 自定义对象需要支持下面三点:
1支持 hash()函数
2支持通过__eq__()方法检测相等性。
3若 a==b 为真,则 hash(a)==hash(b)也为真。
2. 字典在内存中开销巨大,典型的空间换时间。
3. 键查询速度很快
4. 往字典里面添加新建可能导致扩容,导致散列表中键的次序变化。因此,不要在遍历字典的同时进行字典的修改。
Python中的字典是引用类型,这意味着字典变量实际上存储的是对字典对象的引用
original_dict = {'a': 1, 'b': 2}
copied_dict = original_dict # 这不是真正的复制,只是创建了一个新的引用
# 修改original_dict中的值会影响copied_dict
original_dict['a'] = 10
print(copied_dict) # 输出: {'a': 10, 'b': 2}
# 注意:这里并没有“键指向同一个值”的问题,而是两个变量指向了同一个字典对象
使用copy()方法:
original_dict = {'a': 1, 'b': [2, 3]}
copied_dict = original_dict.copy() # 浅复制
# 修改original_dict中的不可变值不会影响copied_dict
original_dict['a'] = 10
print(copied_dict) # 输出: {'a': 1, 'b': [2, 3]}
元组一个t=(10),这样就是int,t=(10,)这样t才是tuple
set={}直接创建空的,创建出来的是字典,如果想要创建空的集合可以通过s=set()来创建
469

被折叠的 条评论
为什么被折叠?



