创建一个变量的副本以及反转字符串(或list等等)

当你在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

总结:这两个技巧很简单,但是比较实用,希望能在实际编程中帮到大家!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 个人笔记,方便自己查阅使用 Py.LangSpec.Contents Refs Built-in Closure ...
    freenik阅读 67,777评论 0 5
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,532评论 25 708
  • 《裕语言》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 10...
    叶染柒丶阅读 27,882评论 5 19
  • http://python.jobbole.com/85231/ 关于专业技能写完项目接着写写一名3年工作经验的J...
    燕京博士阅读 7,630评论 1 118
  • 了解自己为何如此生活,既不快乐也不忧伤,对太阳的光辉和星辰的遥远心存感激。不在再成为什么,不再拥有什么,不...
    夏_06e5阅读 112评论 0 0