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

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

作者: Closears | 来源:发表于2015-06-28 13:58 被阅读127次

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

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

相关文章

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

    当你在Python中执行以下语句时: 输出的结果是: 原因就是,l = s这行代码并没有把s的副本拷贝给l,而是把...

  • 对于ThreadLocal的理解

    ThreadLocal叫线程本地变量,他为每个线程都创建了一个副本变量,每个线程都只能访问自己的副本变量。 作用:...

  • JAVA多线程·ThreadLocal实现原理、使用场景和相关问

    一、概述 ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。 二、...

  • ThreadLocal

    ThreadLocal允许创建只有一个线程读写的变量,它为每个使用该变量的线程创建一个变量副本,每个线程改变自己的...

  • static 关键字

    把一个变量声明为静态变量通常基于以下三个目的: 作为共享变量使用 减少对象的创建 保留唯一副本 在程序中任何变量或...

  • ThreadLocal类

    原理分析:ThreadLocal提供了get与set等访问接口或方法,这些方法为每个使用该变量的线程创建一个副本,...

  • python学习干货教程(8):字符串

    字符串创建 使用引号('或")来创建字符串,赋给变量。 字符串访问 没有单独的字符类型;一个字符就是长度为一的字符...

  • Python 字符串

    字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。 创建字符串很简单,只要为变量...

  • 说说ThreadLocal原理?

    ThreadLocal可以理解为线程本地变量,它会在每个线程都创建⼀个副本,那么在线程之间访问内部副本变量就⾏了,...

  • Python Study Note(1)

    变量 除法 字符串多个空行 list,tuple list:可变数组classmates = ['Michael'...

网友评论

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

      本文链接:https://www.haomeiwen.com/subject/hwpeqttx.html