Python全栈之路----数据类型—列表
1.列表是一个数据的集合,集合内可以放任何数据类型,可对集合进行方便的增删改查操作。列表里面的数可以重复。
L1 = [ ] #定义空列表
L2 = [ 'a' , 'b' , 'c' , 'd' ] #存四个值,索引为0-3
L3 = [ 'abc' , [ 'def' , 'ghi' ] ] #嵌套列表
2.列表的功能:
创建,查询,插入,删除,移动,修改,排序
L[n] L.count(n) L.index(n) L.append(n) L.insert(m,n) del L[n] L.remove(n) L.pop() L.sort()正序 L.reserve()
>>> L2 = ['a','b','c','d','e',1,2] #创建一个列表
>>> L2[2] #通过索引取值
'c'
>>> L2[-1] #通过索引从裂变右边开始取值
2
>>> L2.index('a') #返回指定元素索引值,从左向右查找,找到第一个匹配的字符的位置
0
>>> L3 = [1,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,3,3,4,4,4,5,5,8,8,8,8,8,8]
>>> L3[2] #通过索引值取值
1
>>> L3.count(3) #查找有多少个字符为3的索引
7
>>> n = L3.index(2)
>>> L3[n] #n是L3种2的索引值,L3[n]是索引值为n的元素
2
>>> L3[L3.index(2)]
2
>>> L3[0:3] #列表切片,顾头不顾尾
[1, 1, 1]
>>> L3[-5:-1] #后面的列表切片,顾头不顾尾
[8, 8, 8, 8]
>>> L3[-5:] #-5位置的字符及其后面的所有字符
[8, 8, 8, 8, 8]
>>> L3[:3]
[1, 1, 1]
>>> L3[:] #和L3输出结果一致
[1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 8, 8, 8, 8, 8, 8]
>>> L3[:7:2] #0-6切片,先取L3[0],然后每两个取一个
[1, 1, 1, 2]
>>> L3[:9:3] #3叫做步长
[1, 1, 2]
>>> L3.append('Alex') #在列表最后面追加字符
>>> L3
[1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 8, 8, 8, 8, 8, 8, 'Alex']
>>> L3.insert(0,'Jane') #在列表索引值为0的位置插入数据Jane
>>> L3
['Jane', 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 8, 8, 8, 8, 8, 8, 'Alex']
>>> L3[3] = 'Mary' #把索引值为3的位置的元素替换成Mary
>>> L3
['Jane', 1, 1, 'Mary', 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 8, 8, 8, 8, 8, 8, 'Alex']
>>> L3[4:6] = 'PeiQi' #批量修改,由于位置不够,PeiQi被拆分,后面的元素后移
>>> L3
['Jane', 1, 1, 'Mary', 'P', 'e', 'i', 'Q', 'i', 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 8, 8, 8, 8, 8, 8, 'Alex']
>>> L3.pop() #删除最后一个元素,返回最后一个元素的值
'Alex'
>>> L3.remove(4) #删除从左边数第一个为4的元素
>>> L3
['Jane', 1, 1, 'Mary', 'P', 'e', 'i', 'Q', 'i', 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 5, 5, 8, 8, 8, 8, 8, 8]
>>> del L3[3] #全局性指令,删除索引值为3的元素
>>> L3
['Jane', 1, 1, 'P', 'e', 'i', 'Q', 'i', 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 5, 5, 8, 8, 8, 8, 8, 8]
>>> del L3[8:16] #批量删除,顾头不顾尾
>>> L3
['Jane', 1, 1, 'P', 'e', 'i', 'Q', 'i', 3, 3, 3, 3, 3, 4, 4, 5, 5, 8, 8, 8, 8, 8, 8]
(3)列表是有序的,但int和str类型不能一起排序。str按照ASCII排序,sort是排序,reverse是顺序反过来,extend是扩展,clear是把整个列表清空,copy是拷贝。
copy: 查看内存地址 id(i) 变量有地址,列表本身有一个地址,列表中的每一个元素又都有自己单独的地址
如果 a = 1 a = b ,b指向的是1,不是a,b不随着a的变化而变化;
如果L1 = L ,L1指向L的内存地址,将L的内存地址比作一个装了很多水果的果盘,那么L1也指的是这个果盘,那么L变化实际是果盘变化,所以L1随L的变化而变化,同时L也会随L1的变化而变化;
如果L1 = L.copy(),将L的内存地址比作一个装了很多水果的果盘,那么L1指的是将这个果盘复制的一个新果盘,但是果盘里的水果并没有被复制,水果是两个果盘共享,所以L变化是旧果盘变化,新果盘不变,所以L1不随L的变化而变化;
>>> L = ['a','d','b','r','A']
>>> L.sort() #将L排序
>>> L
['A', 'a', 'b', 'd', 'r']>>> L.insert(2,'*')
>>> L.insert(3,'#')
>>> L
['A', 'a', '*', '#', 'b', 'd', 'r']
>>> L.sort() #按照ASCI码排序
>>> L
['#', '*', 'A', 'a', 'b', 'd', 'r']
>>> L.reverse() #把顺序反过来
>>> L
['r', 'd', 'b', 'a', 'A', '*', '#']
>>> L4 = [1,2,3,4]
>>> L + L4 #L和L4拼接在一起
['r', 'd', 'b', 'a', 'A', '*', '#', 1, 2, 3, 4]
>>> L.extend(L4) #把L4扩展到L里面
>>> L
['r', 'd', 'b', 'a', 'A', '*', '#', 1, 2, 3, 4]
>>> L.clear() #清空
>>> L
[]
>>> L = [1,2,4,5]
>>> L.copy()
[1, 2, 4, 5]
>>> L1 = L.copy()
>>> L1
[1, 2, 4, 5]
>>> L=[3,4,5]
>>> L1
[1, 2, 4, 5]
>>> L1 = L
>>> L[2] = 'Alex'
>>> L
[3,4, 'Alex']
>>> L1
[3,4, 'Alex']
(4)深浅copy
①浅copy:n3 = names 两个列表中的小列表元素改变同步,其余元素独立改变
>>> names = ['alex','jack','jane',['LT','']]
>>> n3 = names.copy()
>>> names
['alex', 'jack', 'jane', ['LT', '']]
>>> n3
['alex', 'jack', 'jane', ['LT', '']]
>>> names[0] = 'Alex'
>>> names
['Alex', 'jack', 'jane', ['LT', '']]
>>> n3
['alex', 'jack', 'jane', ['LT', '']]
>>> n3[2] = 'Jane'
>>> n3
['alex', 'jack', 'Jane', ['LT', '']]
>>> names
['Alex', 'jack', 'jane', ['LT', '']]
>>> n3[3][1] = 20
>>> n3
['alex', 'jack', 'Jane', ['LT', 20]]
>>> names
['Alex', 'jack', 'jane', ['LT', 20]]
②深copy:将列表完全复制,两个列表完全独立
>>> import copy
>>> n = copy.deepcopy(names)
>>> n
['Alex', 'jack', 'jane', ['LT', 20]]
>>> n[3][0] = 'LongTing'
>>> n
['Alex', 'jack', 'jane', ['LongTing', 20]]
>>> names
['Alex', 'jack', 'jane', ['LT', 20]]
Python全栈之路----数据类型—列表的更多相关文章
- Python全栈之路---数据类型—字符串
		
字符串:有序的字符的集合,用于存储和表示基本的文本信息,一对单.双.或三引号中间包含的内容称之为字符串 1.特性:有序,不可变(开辟新地址存储字符串,python解释器会定期清空不用了的已存储的) & ...
 - Python全栈之路----数据类型—字典
		
字典:可变,一种key-value的数据类型 info = { 'stu1101' : 'TengLan Wu' , 'stu1102' : 'LongZe Luola' , 'stu1103' : ...
 - Python全栈之路----数据类型—元组类型
		
元组类型:有序,不可变的,又叫只读列表 names = ("alex","jack","eric") 1.元组本身不可变,但如果元组中有可 ...
 - Python全栈之路----目录
		
Module1 Python基本语法 Python全栈之路----编程基本情况介绍 Python全栈之路----常用数据类型--集合 Module2 数据类型.字符编码.文件操作 Python全栈之路 ...
 - python 全栈之路
		
目录 Python 全栈之路 一. Python 1. Python基础知识部分 2. Python -函数 3. Python - 模块 4. Python - 面对对象 5. Python - 文 ...
 - Python全栈之路目录结构
		
基础 1.Python全栈之路-----基础篇 2.Python全栈之路---运算符与基本的数据结构 3.Python全栈之路3--set集合--三元运算--深浅拷贝--初识函数 4.Python全栈 ...
 - Python全栈之路----常用模块----hashlib加密模块
		
加密算法介绍 HASH Python全栈之路----hash函数 Hash,一般翻译做“散列”,也有直接音译为”哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列 ...
 - Python全栈之路----函数----返回值
		
函数外部的代码想要获取函数的执行结果,就可以在函数里用return语句,把结果返回. def stu_register(name,age,course='PY',country='CN'): prin ...
 - Python全栈之路----常用数据类型--集合
		
集合(set):无序的,不重复的数据组合,它的主要作用如下: · 去重,把一个列表变成集合,就自动去重了 · 关系测试,测试两组数据之间的交集.差集.并集等关系 1.基本操作:修改,删除,合并 & ...
 
随机推荐
- 20175312 2018-2019-2 《Java程序设计》第2周学习总结
			
20175312 2018-2019-2 <Java程序设计>第2周学习总结 教材学习内容总结 已依照蓝墨云班课的要求完成了第二.三章的学习,主要的学习渠道是视频,和书的课后习题. 总结如 ...
 - POJ 1088 滑雪(模板题 DFS+记忆化)
			
Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道 ...
 - 移动Web UI库(H5框架)
			
1.Framework7 Framework7 - is a free and open source mobile HTML framework to develop hybrid mobile a ...
 - python学习(十)
 - 广工十四届校赛 count 矩阵快速幂
			
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6470 题意:求,直接矩阵快速幂得f(n)即可 构造矩阵如下: n^3是肯定得变换的,用二项式展开来一点 ...
 - HTML5  FormData方法介绍
			
详细见链接 转载说明:转自CSDN上“诗渊”的博客
 - oracle连接数据库和连接表的操作
			
1.连接测试是否连接oracle成功 (1).tnsnames.ora文件配置 oracle65= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCO ...
 - 菜鸟webpack教程纠错
			
gei事例: http://www.runoob.com/w3cnote/webpack-tutorial.html 本次的问题主要是在loader部分,原因是按照教程的操作,会出现一下错误 后来发现 ...
 - mst总结
			
1.jsonp跨域 Jsop的原理:利用script不存在跨域的问题,动态创建script标签,把需要请求的数据源地址赋值给其src属性,并且指定一个回调函数,从而接受到我们想要的数据 后台设置下 ...
 - 判断是否存在某个字段hasOwnProperty
			
<script type="text/javascript"> var obj = { a: 1, fn ...