您的位置:首页 > 编程语言 > Python开发

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之类的,都是不返回新副本的。所以改变原来的列表,并不是我们希望的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: