当你在Python中执行以下语句时:
s = [1, 2, 3, 4, 5]
l = s
l.append(6)
print(l)
print(s)
输出的结果是:
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]
原因就是,l = s
这行代码并没有把s
的副本拷贝给l
,而是把s
的引用(可以理解为地址)拷贝给了l
,也就是说,l
变量和s
变量现在指向了同一个地方——内存中的[1, 2, 3, 4, 5]
。
这一特性来自于Python语言本身。
那么问题来了:我们需要创建某一个变量的副本,该怎么做呢?
代码如下:
l = s[:] # 注意这句代码的写法,这就是技巧啦~\(≧▽≦)/~
l.append(6)
print(l)
print(s)
输出的结果是:
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5]
接下来,反转字符串:
直接上代码:
s = 'Hello world'
print(s[::-1])
输出如下:
dlrow olleH
总结:这两个技巧很简单,但是比较实用,希望能在实际编程中帮到大家!