Python列表详解
#列表:增,删,改,查。
names=['N0','N1','N2',['EX1','EX2'],'N3'] '''
#------------------------------------------------------切片-------------------------------------------------------
print(names)
print(names[0],names[2])
print(names[1:3])#切片
print(names[0:3])#切片,顾头不顾尾,语句效果等同[:3]可以忽略0
print(names[-1])#切片,倒序取。
print(names[3])#切片
print(names[-1:-3])#切片,错误格式,取不到
print(names[-3:-1])#切片
print(names[-4:])#切片
print(names[-2])#切片
print(names[0:-1:2])#步长切片,0或-1可以省略 #------------------------------------------------------增-----------------------------------------------------
names.append('zhuijia')#方法一,append追加,增到后面
print(names)
names.insert(1,'cha-ru')#方法二,insert定点插入,想插入在哪就输入下标
print(names)
names.insert(3,'cha-ru2')#定点插入
print(names)
#---------------------------------------------------删----------------------------------------------------
#names.remove('N1')#方法一,直接删除
#del names[1]#方法二,按下标删除
#names.pop(1)#方法三,效果和del name[]一样,不输入下标则默认删除最后一个
#del names #删除整个列表 #-------------------------------------------------------------改-------------------------------------------
names[2]='modify'#修改,直接写下标,和需要赋值的新值
#------------------------------------------------------------查------------------------------------------------
print(names.index('N2'))
print(names[names.index('N2')])
print(names.count('N2'))#统计个数
#-----------------------------------------------------------其他--------------------------------------------------
#names.clear()#清空列表
#names.reverse()#反转列表
#names.sort()#排序,顺序:特殊符号>数字>大写字母>小写字母,按ASIIC码一样排序。
#------------------------------------------------------------合并-----------------------------------------------
names2=[1,2,3,4]
names.extend(names2)
print(names,names2)
'''
#------------------------------------------------------深copy和浅copy----------------------------------------------
names=['N0','N1','N2',['EX1','EX2'],'N3']#列表里存放的是每个元素的内存地址,是一个指向。
names2=names.copy()#复制了第一层,浅拷贝是指把存放变量的地址值传给被赋值,最后两个变量引用了同一份地址,如果原地址中对象被改变了,那么浅复制出来的对象也会相应改变。
print(names)#打印['N0', 'N1', 'N2', ['EX1', 'EX2'], 'N3']
print(names2)#打印['N0', 'N1', 'N2', ['EX1', 'EX2'], 'N3']
names[2]='NewName'#修改names的N2
print(names)#打印['N0', 'N1', 'NewName', ['EX1', 'EX2'], 'N3']
print(names2)#打印['N0', 'N1', 'N2', ['EX1', 'EX2'], 'N3'],name2是不变的,因为由于它的内存地址还被name2引用,所以2的内存不会被释放,依然存在。
names[3][0]='ex1'#修改子列表
print(names)
print(names2)#此时names和names2的子列表相同,都已经改变,原因是copy过去的是一个内存地址,这里的子列表是一个内存指针,
# ,存放在大列表中是以一种内存地址的的形式。
import copy
names2=copy.deepcopy(names)#深copy在计算机中开辟了一块新的内存地址用于存放复制的对象,等于占两份独立的内存空间。
print(names)
print(names2)
names[2]='NewName'
print(names)
print(names2)
names[3][0]='ex1'#修改子列表
print(names)
print(names2)
#-------------------------------------------------------列表循环---------------------------------------------------
#for i in names:
# print(i)#打印出列表
Python列表详解的更多相关文章
- Python数据类型详解——列表
		
Python数据类型详解--列表 在"Python之基本数据类型概览"一节中,大概介绍了列表的基本用法,本节我们详细学一下列表. 如何定义列表:在[]内以英文里输入法的逗号,,按照 ...
 - 28.Python list列表详解
		
在实际开发中,经常需要将一些(不只一个)数据暂储起来,以便将来使用.说到这里,一些读者可能知道或听说过数组,它就可以把多个数据挨个存储到一起,通过数组下标可以访问数组中的各个元素.但使用数组存储数据有 ...
 - python 数据类型详解
		
python数据类型详解 参考网址:http://www.cnblogs.com/linjiqin/p/3608541.html 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8 ...
 - python数据类型详解(全面)
		
python数据类型详解 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8.字典9.日期 1.字符串1.1.如何在Python中使用字符串a.使用单引号(')用单引号括起来表示字 ...
 - Python Collections详解
		
Python Collections详解 collections模块在内置数据结构(list.tuple.dict.set)的基础上,提供了几个额外的数据结构:ChainMap.Counter.deq ...
 - python生成器详解
		
1. 生成器 利用迭代器(迭代器详解python迭代器详解),我们可以在每次迭代获取数据(通过next()方法)时按照特定的规律进行生成.但是我们在实现一个迭代器时,关于当前迭代到的状态需要我们自己记 ...
 - 转 python数据类型详解
		
python数据类型详解 目录 1.字符串 2.布尔类型 3.整数 4.浮点数 5.数字 6.列表 7.元组 8.字典 9.日期 1.字符串 1.1.如何在Python中使用字符串 a.使用单引号(' ...
 - Python数据类型详解——元组
		
Python数据类型详解--元组 有时候我们的列表数据不想被别人修改时该怎么办? 此时,就可以使用元组来存放,元祖又称为只读列表,不能修改 定义方式:与列表类似,将列表的[]换成()即可. 特性: 1 ...
 - Python数据类型详解——字典
		
Python数据类型详解--字典 引子 已经学习了列表,现在有个需求--把公司每个员工的姓名.年龄.职务.工资存到列表里,你怎么存? staff_list = [ ["Kwan", ...
 
随机推荐
- centos7.4 64位安装 google-chrome 与 chromedriver 运行 Python selenium 项目
			
centos7.4 实例 利用 yum 命令安装 google-chrome 超级简单(安装最新版): yum install https://dl.google.com/linux/direct/g ...
 - C# 代码小技巧
			
一 .自动属性. 1.vs下输入prop,Tab键就出现了. 2.有了自动属性,我们不用再额外为一个类的每个公共属性定义一个私有字段(实际上没多大用处的字段), 但是通过反射还是可以看到对应的私有 ...
 - phpcms基础循环
			
lists循环{pc:content action="lists" catid="2" order="id DESC" num=" ...
 - 转wave 文件解析
			
转 1 WAVE 文件格式分析 WAVE 文件作为多媒体中使用的声音波形文件格式之一,它是以RIFF(Resource Interchange File Format)格式为标准的.每个WAVE文件的 ...
 - 转apk打包
			
常规打包方式: -------------------------------------------------------------------------------------------- ...
 - postgresql分区(引用)
			
1 建立大表. 2 创建分区继承 3 定义Rule或者Trigger? 1 建立大表 CREATE TABLE student (student_id bigserial, na ...
 - python3之os、sys
			
os模块 # 显示当前使用平台:"nt":windows;"posix":Linux >>> os.name 'nt' # 当前工作目录 &g ...
 - MySQL学习笔记Windows篇<一> Welcome to MySQL
			
MySQL安装完毕后没有图形化操作界面,图形化管理界面需要另行安装,个人比较喜欢Navicat,界面更像SQLserver: 此篇学习笔记所有操作均使用命令行中完成: 1.开启/停止服务 使用MySQ ...
 - Thrift 的五种工作模式
			
一.thrift 共有5中工作模式,分成阻塞和非阻塞: 阻塞:TSimpleServer.TThreadPoolServer 非阻塞:TNonblockingServer.THsHaServer.TT ...
 - 高校手机签到系统——第一部分Authority权限系统(上)
			
序:今天开始写一个算是我第一个系列的文章——高校手机签到系统.本系统结合我们学校自身的一些特点编写.这是我的毕业设计项目,写在这里算是给最后论文的时候一些点滴的记录.另外也想通过这个系列的文章找到一份 ...