python中列表的赋值
2015-06-25 15:19
609 查看
原文:http://blog.csdn.net/qiming_zhang/article/details/6226995
最近刚刚学习python语言,发现python中列表的赋值很像C++中数组的赋值方式,不过各方面都比C++方便很多啊。
[python] view
plaincopy
c = [1,8,9,3,4]
d = c
print c[0]
print d[0]
print '========================='
d[0] = 100
print c[0]
print d[0]
输出结果:
1
1
=========================
100
100
这样的简单赋值 其实是将C和D指向同一个列表。很像C/C++真的数组指针赋值哈。
[cpp] view
plaincopy
int a[] = {1,3,7,8,6,4};
int b[6] = a;
cout << a[0] << endl;
cout << b[0] << endl;
cout << "======================================"<< endl;
b[0] = 100;
cout << a[0] << endl;
cout << b[0] << endl;
输出结果:
1
1
=========================
100
100
也许python列表赋值和C语言中的指针一样,指向同一个内存地址吧。
但是python中可以用分片的方式。复制出一份新的列表的副本,而不是指向同一个列表
[python] view
plaincopy
e = [1,8,9,3,4]
f = e[:]
print e[0]
print f[0]
print '========================='
f[0] = 100
print e[0]
print f[0]
输出结果:
1
1
=========================
1
100
可以看出,列表e和f完全是两个列表。
列表中有很多操作,比如sort之类的,都是不返回新副本的。所以改变原来的列表,并不是我们希望的。
最近刚刚学习python语言,发现python中列表的赋值很像C++中数组的赋值方式,不过各方面都比C++方便很多啊。
[python] view
plaincopy
c = [1,8,9,3,4]
d = c
print c[0]
print d[0]
print '========================='
d[0] = 100
print c[0]
print d[0]
输出结果:
1
1
=========================
100
100
这样的简单赋值 其实是将C和D指向同一个列表。很像C/C++真的数组指针赋值哈。
[cpp] view
plaincopy
int a[] = {1,3,7,8,6,4};
int b[6] = a;
cout << a[0] << endl;
cout << b[0] << endl;
cout << "======================================"<< endl;
b[0] = 100;
cout << a[0] << endl;
cout << b[0] << endl;
输出结果:
1
1
=========================
100
100
也许python列表赋值和C语言中的指针一样,指向同一个内存地址吧。
但是python中可以用分片的方式。复制出一份新的列表的副本,而不是指向同一个列表
[python] view
plaincopy
e = [1,8,9,3,4]
f = e[:]
print e[0]
print f[0]
print '========================='
f[0] = 100
print e[0]
print f[0]
输出结果:
1
1
=========================
1
100
可以看出,列表e和f完全是两个列表。
列表中有很多操作,比如sort之类的,都是不返回新副本的。所以改变原来的列表,并不是我们希望的。
相关文章推荐
- Python用PyInstaller打包笔记
- Python——处理日期和时间
- 关于python开发web中插入本地图像和链接本地的html文件的方法
- python获取对象信息
- python多重继承:
- 将python脚本编译成exe文件
- python多态
- python类的继承
- 如何在Windows环境下运行Python脚本
- Python模块常用的几种安装方式
- Eclipse+PyDev+Django+Mysql搭建Python web开发环境
- python 编码gbk
- python面向对象编程
- Python Virtualenv 虚拟环境
- Python并发实践_03_并发实战之一
- elipse下python插件安装及使用
- Python 变量作用域
- Python多线程3:queue
- python datetime类型和time类型互转
- python 第十七周 异常处理与程序调试