Python切片赋值
来源:互联网 发布:ubuntu 命令行 deb 编辑:程序博客网 时间:2024/06/06 01:03
今天在用Python写决策树的时候遇到了点儿小问题:
在树分叉的时候需要对子标签赋值
书上写的是
subLabels=lebels[:]
我写的是
subLabels=labels
得到的结果不一样,很不幸是我错了;
后来验证了一下两个写法的区别,各位同学一定要注意了:
a=[0,2,3,0]b=aprint bdel(a[1])print b这样写得到的结果是:
[0, 2, 3, 0]
[0, 3, 0]
切片赋值得到的结果是:
a=[0,2,3,0]b=a[:]print bdel(a[1])print b
[0, 2, 3, 0][0, 2, 3, 0]
是不一样吧?
切片赋值,得到的与原变量无关,是两个不同的对象;直接赋值,引用的是同一个对象。这里可以对他们的id做一下输出就会发现问题所在;
直接赋值得到的id是一样的:
[0, 2, 3, 0]
[0, 3, 0]
id(b): 83565448 id(a): 83565448
切片赋值就变成了这样:
[0, 2, 3, 0]
[0, 2, 3, 0]
id(b): 83250504 id(a): 83250056
阅读全文
0 0
- Python札记 -- 切片赋值
- Python切片赋值
- Python切片赋值操作
- golang二维切片赋值
- python 切片
- Python 切片
- python--切片
- Python-切片
- Python - 切片
- python 切片
- python 切片
- python 切片
- Python(切片)
- Python 切片
- python-切片
- python切片
- Python 切片
- Python 切片
- Unity一键修改NGUI字体的编辑器脚本
- CXF和spring整合实现webservice实例
- nginx nginx.conf 配置
- windows下安装redis以及redis扩展,设置redis为windows自启服务
- QML之Repeater重复器
- Python切片赋值
- GraphHopper简介
- 数据结构与算法概念解析
- C# revit二次开发 一条语句找到所有的某种实例(一)
- android IntentService Service HandlerThread 源码解读
- 数据结构之数组
- RxJava学习
- log4j
- 安信可-A7模块——C语言编程实现GPS功能