2017.06.13回顾 series筛选赋值不是deepcopy?

本次更新主要聚焦于Python标准评分卡工具箱的bug修复工作,包括series筛选赋值问题及IV包内格式化字符串输出被截断的问题。在解决这些问题的过程中,探讨了赋值机制与类型转换的影响。

1、在网时长的逻辑重新修正

2、桔子的事情已经是停止了

3、非银联合作银行的事情开发了一半,被打断

4、拒绝疑似欺诈业务员

5、开会

6、面试

7、晚上继续开发那一套python标准评分卡工具箱,就是解决那两个bug,解决了我一晚上series的筛选赋值,是赋值到copy上,但是实际上却赋值成功,昨天和洋神讨论的是这个机制是copy,不保险,并不是deepcopy。另外一个bug是,我明明改变的是另一个字段的值,但是IV包内的格式化字符串输出却被截断了,我取消了对二维数组的类型转换,没出现这个问题了,我觉得可能要从类型的角度去解决这个问题,要看看转换成np.array后前后类型的变换


`copy.deepcopy()` **既可以拷贝字典,也可以拷贝列表**,实际上它可以拷贝**任何复杂的Python对象**,包括嵌套的字典、列表、自定义类实例等。 --- ### 回答问题: `copy.deepcopy(x)` 的作用是创建对象 `x` 的一个**完全独立的副本**,递归地复制 `x` 及其内部包含的所有子对象,无论这个对象是字典、列表、集合、类实例还是其他可变类型。 #### ✅ 它能处理: - 列表(`list`) - 字典(`dict`) - 集合(`set`) - 自定义对象(如类实例) - 任意嵌套结构(如字典中含列表,列表中含字典等) --- ### 示例代码说明: #### 1. 深拷贝字典(含嵌套) ```python import copy a = {'x': [1, 2, {'y': 3}]} b = copy.deepcopy(a) b['x'][2]['y'] = 999 print(a) # {'x': [1, 2, {'y': 3}]} —— 不受影响 print(b) # {'x': [1, 2, {'y': 999}]} ``` #### 2. 深拷贝列表(含嵌套) ```python import copy original_list = [1, [2, 3], {'a': [4, 5]}] copied_list = copy.deepcopy(original_list) copied_list[1].append(6) copied_list[2]['a'].append(7) print(original_list) # [1, [2, 3], {'a': [4, 5]}] —— 原始未变 print(copied_list) # [1, [2, 3, 6], {'a': [4, 5, 7]}] ``` #### 3. 深拷贝混合结构 ```python data = { 'users': [ {'name': 'Alice', 'hobbies': ['reading', 'coding']}, {'name': 'Bob', 'hobbies': ['gaming']} ] } data_copy = copy.deepcopy(data) data_copy['users'][0]['hobbies'].append('swimming') print(data['users'][0]['hobbies']) # ['reading', 'coding'] —— 不受影响 print(data_copy['users'][0]['hobbies'])# ['reading', 'coding', 'swimming'] ``` --- ### 对比浅拷贝: 如果使用浅拷贝(如 `copy.copy()` 或 `list()` / `dict()` 构造函数): ```python shallow = copy.copy(data) # 或 data.copy(), list(), dict() ``` 只会复制第一层,嵌套的对象仍然共享引用,修改内层会导致原对象也被影响。 --- ### 总结: - `copy.deepcopy()` 是通用的深度拷贝函数; - 它不局限于字典或列表,适用于所有支持复制的 Python 对象; - 特别适合用于需要完全隔离原始数据和副本的场景(尤其是嵌套结构); ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值