python的list之间相互赋值的陷阱
2018-03-05 17:05
417 查看
在python中List是引用类型,直接复制的时候是浅拷贝,改变了原来变量的值幅值之后的也会改变,所以要么深拷贝,要么重新申明,切记切记
以下代码是踩过的坑,谨记谨记!!!
上面代码的结果是[[4],[4],[4],[4]]
这段代码的结果才是正确的[[1],[2],[3],[4]]
以下代码是踩过的坑,谨记谨记!!!
lst_1 = [] lst_2 = [] for i in range(5): lst_2.clear() lst_2.append(i) lst_1.append(lst_2) lst_1
上面代码的结果是[[4],[4],[4],[4]]
lst_1 = [] lst_2 = [] for i in range(5): lst_2 = [] lst_2.append(i) lst_1.append(lst_2) lst_1
这段代码的结果才是正确的[[1],[2],[3],[4]]
相关文章推荐
- 用list去初始化numpy的array数组 numpy的array和python中自带的list之间相互转化
- numpy的array和python中自带的list之间相互转化
- Python中list、tuple、str和dict之间的相互转换
- numpy的array和python中自带的list之间相互转化
- Python中list、tuple、str和dict之间的相互转换
- python3 list、tuple(元组)、str之间的相互转换
- python 中list(列表),tupe(元组),str(字符串),dict(字典)之间的相互转换
- vector和list等容器之间的相互赋值
- Python中list、tuple、str和dict之间的相互转换
- 对numpy的array和python中自带的list之间相互转化详解
- List之间赋值
- Linq 实现两个对象实例List之间的赋值
- C# DataTable 和List之间相互转换的方法
- C# DataTable 和List之间相互转换的方法
- vector容器v1、v2之间相互赋值的三种方法及易错点详解
- C# DataTable 和List之间相互转换的方法
- 数组和List之间相互转换的方法
- list,set,map,数组之间的相互转换详细解析
- Python hexstring-list-str之间的转换
- [java]关于数组和List之间相互转换的方法