python list内容拷贝方法

先看如下代码:

x = [‘a‘,‘b‘,‘z‘]
y = x
print y
y[0] = ‘w‘
print x,y

结果输出:

>>>
[‘a‘, ‘b‘, ‘z‘] #y list
[‘w‘, ‘b‘, ‘z‘] [‘w‘, ‘b‘, ‘z‘] #y第一个元素改变后,x,y一起变化

有时候如果你真的希望将x的list元素一并拷贝给另一个list。而改变另一个list,不希望改变原list,该怎么办?

x = [‘a‘,‘b‘,‘z‘]

m = list(x)#使用list方法
m = x[:]#或者使用切片方法
print m
m[0]=‘n‘ #当改变m list元素值时
print x,m #只有m list被改变,x list并没有变化

结果输出:

>>>
[‘a‘, ‘b‘, ‘z‘]
[‘a‘, ‘b‘, ‘z‘] [‘n‘, ‘b‘, ‘z‘]
时间: 2024-12-11 04:42:31

python list内容拷贝方法的相关文章

深入学习python解析并读取PDF文件内容的方法

这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应用.主要参考了一些已有的博客内容,代码. 主要思路是首先利用一个做项目的形式,描述所做的问题,运行环境,和需要安装的库,然后写代码,此代码是在python2.7中运行,然后写出在python3.6中运行的代码,并详细解释python2.7和python3.6中python库的一些不同之处,最后详细的

一种基于二维码的半自动文件拷贝方法

在一种受限的环境中,要把文件拷贝出去显然是不可能的.因为既不能进行直接的文本拷贝(Ctrl+C, Ctrl+V),又不能使用scp(因为网络隔离).那么,真的一点办法都木有了吗?答案是否定的,因为毛主席说过,"卑贱者最聪明,高贵者最愚蠢".作为一个好琢磨的程序员,因为好奇("与天斗,其乐无穷:与地斗,其乐无穷:与人斗,其乐无穷."),所以很快想出了一个解决的办法,那就是利用非常盛行的二维码技术.虽然全自动拷贝不好实现,但半自动拷贝还是非常容易做到的.于是,本文尝试利

针对Python的深浅拷贝问题

前些天做了个小程序,遇到了Python的深浅拷贝问题 感觉自己基础不够扎实,就翻了翻教程,真的是非常基础的知识...(各位大佬下手轻点2333) 下面简单说说: 首先有个字典a 1 a = {'A':1,'B':2,'C':3,'D':4} 然后我们把它赋值给另外一个空字典b 1 b = {} 2 b = a 当我们输出b时,可以看到a和b直观上看好像是相等了 按照常理,我们会认为a和b现在是两个值相等的字典,如果我们对其中一个操作,另外一个应该不会受到影响才对,所以我们试一下: 我们尝试删除b

python闭包&深浅拷贝&垃圾回收&with语句

1.1 闭包 1.闭包概念 1. 在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用,这样就构成了一个闭包 2. 一般情况下,在我们认知当中,如果一个函数结束,函数的内部所有东西都会释放掉,还给内存,局部变量都会消失. 3. 但是闭包是一种特殊情况,如果外函数在结束的时候发现有自己的临时变量将来会在内部函数中用到,就把这个临时变量绑定给了内部函数,然后自己再结束.   2.闭包特点 1. 必须有一个内嵌函数 2. 内嵌函数必须引用外部函数中的变量 3

Python中的sort()方法的使用

本文和大家分享的主要是python中的sort()方法相关知识,一起来看看吧,希望对大家学习python有所帮助. 一.基本形式 sorted(iterable[, cmp[, key[, reverse]]]) iterable.sort(cmp[, key[, reverse]]) 参数解释: (1)iterable指定要排序的list或者iterable,不用多说: (2)cmp为函数,指定排序时进行比较的函数,可以指定一个函数或者lambda函数,如: students为类对象的list

Python编程学习——拷贝

简介: 这一篇博客主要讨论Python对象的拷贝问题,区分浅拷贝和深拷.为了保持追踪内存中的对象,Python使用了引用计数这一简单技术,下面将进行简单介绍. 1.引用计数: 当对象被创建并赋值给变量时,该对象的引用计数就被设置为 1 .当同一个对象又被赋值给其他变量时,或作为参数传给函数.方法或类实例时,或被赋值为一个窗口对象的成员时,该对象的一个新的引用(或称为别名)就被创建,该对象的引用计数加 1 .使用del关键字可以减少引用计数. 我们可以看到下面代码: #!/usr/bin/env

Python的文件open()方法使用详解

Python内置了一个open()方法,用于对本地文件进行读写操作.这个功能简单.实用,属于必须掌握的基础知识. 使用open方法操作文件可以分三步走,一是打开文件,二是操作文件,三是关闭文件.下面分别介绍: 一.打开文件 其基本语法:f = open('文件名','打开模式') 打开模式: r 只读 默认模式,如果文件不存在就报错,存在就正常读取. w 只写 如果文件不存在,新建文件,然后写入:如果存在,先清空文件内容,再写入. a 追加 如果文件不存在,新建文件,然后写入:如果存在,在文件的

python中http请求方法有哪些

在python开发(http://www.maiziedu.com/course/python-px/)中,我们一般通过get.post方式发送http请求,可是最近在使用python做接口测试,发现python中http请求方法有许多种,作者整理了一番,把python中http请求方法都总结了出来,分享给大家,具体内容如下所示:一.python自带库----urllib2python自带库urllib2使用的比较多,简单使用如下:import urllib2response = urllib2

python字符串操作实方法大合集

python字符串操作实方法大合集,包括了几乎所有常用的python字符串操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下: #1.去空格及特殊符号 s.strip().lstrip().rstrip(',') #2.复制字符串 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sStr1 = 'strcpy2' print sStr2 #3.连接字符串 #strcat(sStr1,sStr2) sStr