1.
a=[1,2,3]
b=a[:]
c=a
print id(b)
print id(a)
print id(c)
结果:
b:1969870474056
a:1969870559944
c:1969870559944
b=a[ : ]把a中的值一个一个放在b中,此时a和b是完全不同的,所以a和b在内存上的位置完全不同。
c=a其实a和c在内存上存放的位置完全换相同。a,c这个变量享有相同的内存地址。
我们把b=a[ : ]叫做深度拷贝。
注释:记住深度拷贝只可以用于list,对于python中的tuple也就是元组,是不能进行深度拷贝的,
a = (1,2,3)
b = a[:]
print id(a)
print id(b)
59570456
59570456
因为元组是不可变的对象,在内存中一个元组只会存在一个,再怎么深度拷贝都没有用。
2.快速翻转字符串:
s = '123456'
print s[::-1]
654321