python 列表深浅copy 及相关操作

1、浅COPY,如果源变化,p1[1][1]、p2[1][1]、person[1][1]会一起变化
import copyperson = [‘name‘,[‘saving‘,100]]‘‘‘p1 = copy.copy(person)p2 = person[:]p3 = list(person)‘‘‘p1 = person[:]p2 = person[:]print(p1)print(p2)

p1[0] = ‘alex‘p2[0] = ‘fengjie‘print(p1)print(p2)

p1[1][1] = ‘50‘print(p1)print(p2)

1、深copy:源变化,不影响
import copynames2 = copy.deepcopy(names)print(names)print(names2)names[2] = "湘碰"names[3][0] = "ALEC"print(names)print(names2)

3、元组:不可以编辑的列表,其他操作同列表
names = (‘alex‘, ‘jack‘)

4、列表操作
#列表类型names = ["Zhangyang","Guyun","Xiangpeng",["alex","jack"],"xulianghen"]names2 = ["1","2","3","4"]print(names)#print(names[0])  #第一个位置#print(names[0],names[2])#print(names[1:3])  #切片,顾头不顾尾#print(names[1:])   #取从1到结束位置#print(names[-1])    #取最后一个#print(names[-2:-1])  #不包含最后一个值,顾头不顾尾#print(names[:3])  #0可以忽略

#names.append("Leihaidong")  #插入到最后面#names.insert(1,"Chenronghua")  #插入到固定位置 ,一次只能插入一个

#names[2] =  "Xiedi"  #修改

#删除#names.remove("Zhangyang")#del names[1]#names.pop(1)  #不输入默认删除最后一个

#print(names.index("Guyun"))  #找Guyun的下标#print(  names[names.index("Guyun")])#统计Guyun个数#print(names.count("Guyun"))#names.clear() #清空#names.reverse() #反转#names.sort()  #排序#names.extend(names2) #扩展#del names2  #删除变量
 


原文地址:https://www.cnblogs.com/wzsx/p/8949631.html

时间: 2024-07-29 20:02:34

python 列表深浅copy 及相关操作的相关文章

python之集合、深浅copy、文件操作、函数初识

本节内容:集合.深浅copy.文件操作.函数初识 1.小知识点补充 2.编码二 3.集合 4.深浅copy 5.文件操作 6.函数的初识 1.小知识点补充                                                                                           1.1 小数据池====str.int 小数据池存在的意义就是节省内存 节省内存,位多个变量开辟一个共享空间(str和int) int:-5--256 int===

python字符串格式化输出及相关操作代码举例

字符串的格式化 Python 支持格式化字符串的输出 .尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中.在   Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法. 在python中格式化输出字符串通用的形式为: 格式标记字符串 % 要输出的值组 其中,左边部分的"格式标记字符串"可以完全和c中的一致.右边的"值组"如果有两个及以上的值则需要用小括号括起来,中间用逗号隔开. 重点来看左

python之深浅copy

三.深浅copy调用方法:import copy #浅拷贝copy.copy() 深拷贝copy.deepcopy() #赋值1. 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址.举例:import copy#字符串,数字a1 = 'adddddd'a2 = '12322'a2 = a1print(id(a1))print(id(a2))a3 = copy.deepcopy(a1)print(id(a1))print(id(a3))输出结果:4192344

Python列表list 数组array常用操作集锦【转】

Python中的列表(list)类似于C#中的可变数组(ArrayList),用于顺序存储结构. 创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_start = sample_list[0] end_value = sample_list[-1] 删除列表的第一个值 del sample_list[0] 在列表中插入一个值 sample_list[0:0

Python 集合 深浅copy

一,集合. 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. 关系测试,测试两组数据之前的交集.差集.并集等关系. 1,集合的创建. set1 = set({1,2,'barry'}) set2 = {1,2,'barry'} print(set1,set2) # {1, 2, 'barry'} {1, 2, 'barry'} 2,集合的增. set1 =

【python】-- 深浅copy、集合

深浅copy 1.数字.字符串的copy: 赋值(=).浅拷贝(copy)和深拷贝(deepcopy)其实都一样,因为它们永远指向同一个内存地址: >>> import copy >>> n1 = 123 >>> print(id(n1)) #打印n1的内存地址 502665488 ##赋值## >>> n2 = n1 >>> print(id(n2)) 502665488 ##浅拷贝## >>>

python的深浅copy

#!/usr/bin/env python #-*- coding:utf-8 -*- a='abc' b=a a='def' print(b) #这里打印的是abc #1.执行a = 'abc',解释器创建了字符串'abc'和变量a,并把a指向'ABC' #2.执行b=a,解释器创建了变量b,并把变量b指向了变量a所指向的abc #3.执行a = 'def',解释器创建了字符串'def',并把a的指向改为'def',但b并没有更改: #所以最后打印的是abc name={ "z":{

python集合深浅copy

01昨天内容回顾 代码块:由一个文件,一个函数,一个模块,一个类,交互模式下每一行都是一个代码块 Is == id:id()是查询内存地址,==比较两边的值,is是比较两边的内存地址. 小数据池: 在内存中创建一个池,提前存放了-5~256的整数,一定规则的字符串,后续程序中,如果设置的变量指向的是小数据内容,那就不会再内存中重新创建. 1.节省内存 2.提高性能和效率. 小数据池和代码块的关系. 同一个代码块:python在执行时,遇到了初始化对象,他会将这个变量和数值放在一个字典中,再次遇到

Python 字典及字典的相关操作

 定义一个字典: 其中:1. 不允许同一个键出现两次.创建时如果同一个键被赋值两次,后一个值会被记住.    2. 键必须不可变,所以可以用数字.字符串或元组充当,而用列表就不行 字典的常用操作: 1. 增.删.改.查 : 2.type, len, str 的用法 :   3. 列表的返回: 4. 字典的删除,复制,返回: 5. get和setdefault: 6. 新建字典: