python 列表复制给另一个列表,改值两个列表均会改变(备忘)

http://blog.csdn.net/lc_lc2000/article/details/53135839

本意是使A = B,B为一个列表,结果在后续对A的操作中,导致B中的值也改变了,才回忆起python中均为“引用”这话。

为避免这种情况,对这篇博文总结有两种情况可避免。

1. 利用列表切片 A = B[:]

2. 深拷贝 A = copy.deepcopy(B)

时间: 2024-08-24 00:24:50

python 列表复制给另一个列表,改值两个列表均会改变(备忘)的相关文章

python的列表复制详解

非复制但内容一致的情况 首先生成列表list1,list2,查看其中内容,对内容做比较,对内存id做比较: list1 = list(range(5)) list2 = list(range(5)) print(list1) print(list2) print(list1 == list2) print("list1 ID:",id(list1)) print("list2 ID:",id(list2)) 输出结果为: [0, 1, 2, 3, 4] [0, 1,

python 如何在一个for循环中遍历两个列表

是我在看<笨方法学python>过程中发现有一行代码看不懂——“ for sentence in snippet, phrase:”,所以研究了半天,感觉挺有收获的.所以就放在博客上分享给大家了. 直入主题: 为了不耽误大家时间,如果知道以下为两段代码为什么输出不一样的话我觉得您肯定知道我下面要说的是什么了,您就不必花时间再读下去了. 1和2两段代码的区别是print在for循环中,另外一个是不在循环中.输出的结果却截然不同,如果想要弄懂如何遍历两列表,花些时间把下面的几行代码弄懂.我要说的您

Python入门 —— 用pycharm写一个简单的小程序3

环境:Win10操作系统:Python3.7:Pycharm 题目来源:PTA 编程实例1:日期格式化 世界上不同国家有不同的写日期的习惯.比如美国人习惯写成“月-日-年”,而中国人习惯写成“年-月-日”.下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期. 输入格式: 输入在一行中按照“mm-dd-yyyy”的格式给出月.日.年.题目保证给出的日期是1900年元旦至今合法的日期. 输出格式: 在一行中按照“yyyy-mm-dd”的格式给出年.月.日. 输入样例: 03-15-20

[Python] 正确复制列表的方法

new = old[:] Python老鸟都知道以上代码是什么意思.它复制列表old到new.它对于新手来说是种困惑而且应该避免使用这种方法.不幸的是[:]标记法被广泛使用,可能是Python程序员不知道更好的列表复制法吧. 首先我们需要了解Python是如何管理对象和变量.Python没有C语言中的变量.在C语言中,变量不止是个名字,它是字节集合并真实存在于内存某个位置上.而在Python中,变量仅仅是指向对象的标签. 看看以下语句: a = [1, 2, 3] 它表示我们创建了一个指引指向列

将一个列表的数据复制到另一个列表中

1 ''' 2 提问:将一个列表的数据复制到另一个列表中. 3 请仔细看要求,这里要求的是复制数据到一个新的列表中. 4 Python列表数据复制,Python解题思路分析:可以了解下[ :]的含义 5 ''' 6 l = [1,2,3,4] 7 x = l[:] # x = l.copy() 8 print(x) 原文地址:https://www.cnblogs.com/JerryZao/p/8678880.html

练习七:列表复制(将一个列表的数据复制到另一个列表中)

习题七:将一个列表的数据复制到另一个列表中. 1 list1 = [1,2,3,4,5,8] 2 3 list2 = list1[:] #直接赋值,使用: 浅复制 4 5 list3 = list1 #直接赋值,相当于浅复制 6 7 import copy #使用copy模块,深复制 8 list4 = copy.copy(list1) 9 10 list5 = list1.copy() #使用copy函数 潜复制 11 12 print(list1,list2,list3,list4,list

python小练习:给定一个非空且为正整数的列表 按重复次数 降序排列输出

假设有个列表  a=[1,1,1,2,2,4,5,5,5,5] (非空且为正整数) 那么根据要求 最终输出的形式为  5,1,2,4  (按重复次数 降序排列输出) 代码实现及解释: a=[1,1,1,2,2,4,5,5,5,5]num=[] for i in a: s = a.count(i) num.append(s)#取出数字出现的次数 放进num中 num1 = sorted(num,reverse=True)# 降序排列num 并赋值给num1num2=list(set(num1))#

python学习笔记3:基础(元组、字符串、列表、字典)

参考文档:http://www.cnblogs.com/liu-yao/p/5145876.html 一,对象与类 对象: python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,玩的手机就是对象. 我们通过描述属性(特征)和行为来描述一个对象的. 在python中,一个对象的特征也称为属性(attribute).它所具有的行为也称为方法(method) 结论:对象=属性+方法 在python中,把具有相同属性和方法的对象归为一个类(class) 比如人类,动物,植物等等,

【Python编程:从入门到实践】chapter4 操作列表

chapter4 操作列表 4.1 遍历整个列表 magicians=['alice','david','carolina'] for magician in magicians: print(magician) 4.1.1 深入地研究循环 4.1.2 在for循环中执行更多的操作 4.1.3 在for循环结束后执行一些操作4.2 避免缩进错误4.3 创建数值列表 4.3.1 使用函数range() Python函数rang()让你能够轻松地生成一系列的数字. for value in rang