python tips-3.11新特性,字典键必须可散列,Python中的字典是引用类型如何复制,t=(10)的类型,set={}的类型


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()来创建

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值