
python之列表类型内置方法
发布日期:2021-05-04 19:07:18
浏览次数:21
分类:精选文章
本文共 3362 字,大约阅读时间需要 11 分钟。
python之列表类型内置方法
文章目录
引入
前面****那一章已经对python基本的数据类型进行了大概的描述,以下我们主要从其内置方法来学习
一.定义方式
- 在**"[ ]"**内用逗号分割开多个元素, 无类型限制
- 列表类型的 “工厂” 就是
list
li = [111,222]?背后的操作就是li = list([111,222])
二.类型转换
- 但凡可以被 for 循环遍历的类型都可以当做参数传给列表做成其元素
?将字符串转成列表类型x = "aasdasd"li = list(x)print(li) #['a', 'a', 's', 'd', 'a', 's', 'd']?将字典转,转的是字典的"key"?工作原理li = []x = "aasdasd"for i in x: li.append(i)print(li)
三.常用操作 + 内置方法
优先掌握的操作(***)
1、按索引取值(正+反向)+ 可以取值也可以改值
l=['a','b','c']?正向print(l[1]) #b?反向print(l[-1]) #c?改值, 改大小写都行l[2]='d' print(l) #['a', 'b', 'd']?如果索引不存在则报错l[8]='d' print(l) #报错
2、切片,顾头不顾尾 + 步长
li=['song','hai','xing','hhh','lihai']?顾头不顾尾顾头不顾尾、步长print(li[0:3]) # ['song','hai','xing']print(li[0:5:2]) # ['song','xing','lihai']?全部切片(浅拷贝)print(li[:len(li)])print(li[0:])print(li[:]) ?颠倒列表print(li[::-1]) # ['lihai', 'hhh', 'xing', 'hai', 'song']
ps :
3、长度
li=['song','hai','xing','hhh','lihai']print(len(l)) #5
4、成员运算 in 和 not in
li = [111,222,333,[344,33]]print(111 in l) #Trueprint(099 in l) #False
5、追加 .append()
- 在列表的末尾追加一个字符
l=["aaa",2222,"cccc"]res=l.append("ddd")l.append("eee")print(l) # ['aaa', 2222, 'cccc', 'ddd', 'eee']print(res) # None (无返回值)
6、插入 .insert()
- 在"谁"的前面插入一个字符
l=["aaa",2222,"cccc"]res=l.insert(1,"xxx")print(l) #['aaa', 'xxx', 2222, 'cccc']print(res) #None (无返回值)
7、删除 del, remove, pop
- del : 直接删除"谁", 通用万能删除, 它不支持赋值语法, 赋值会报错
- .remove() : 直接按照成员来删除
- .pop () : 按照索引来删除
msg=['song','hai','xing','hhh','lihai']?通过索引来删除del msg[1]del msg[1:5:2] #del加切片 (hai,hhh)print(msg)?直接通过元素来删除,没有返回值msg.remove('hai')print(msg)?通过索引删除,并可拿到这个值msg.pop(1)msg.pop() #不放置索引默认删除末尾print(msg)?"pop"的特有功能:有返回值print(msg.pop(1)) #可以弹出这个值print(msg.remove('hai')) #只删除,不会返回这个值
7、循环取值
l=[111,222,333,444,555,666,777]for i in l: print(i)
需要掌握的操作()
1.统计字符的个数 : .count()
l=[111,222,333,444,111,555,666,777]print(l.count(111)) #2
2.扩展,追加多个值 : .extend()
l=[111,222,]?字符串l.extend("hello")print(l) #[111, 222, 'h', 'e', 'l', 'l', 'o']?列表l.extend(["xxx","yyy"])print(l) #[111, 222, 'h', 'e', 'l', 'l', 'o', 'xxx', 'yyy']?追加字典的话加入的是"key"
3.清空列表 : .clear()
msg=['song','hai','xing','song','lihai']msg.clear()print(msg) # []
4. 浅拷贝列表 : .copy()
msg=['song','hai','xing','song','lihai']l=msg.copy()print(l) # ['song','hai','xing','song','lihai']
5.计算个数 : .count()
msg=['song','hai','xing','song','lihai']print(msg.count('song')) # 2
6.查找索引 : .index()
- 找到指定字符在列表中的索引, 可以指定范围查找
- 列表中没有像字符串中 : find、rfind、rindex 的这些方法
msg=['song','hai','xing','song','lihai']print(msg.index('song',2,4)) # 3 (找不到会报错)
7.排序 : .sort()
l=[5,7,9,3,1,4]l.sort() #排序print(l)?参数"reverse"反序l.sort(reverse=True) #反向排序print(l)
8.反序 : .reverse()
- 将列表顺序反转过来, 改的就是源列表
li = [1, 'egon', 'alex', 'lxx']li.reverse()print(li) # ['lxx', 'alex', 'egon', 1]
四.列表比较的规则
?依照ascll码表对应的十进制来比较l1='hello'l2='k'print(l1 < l2) #abcd....从小到大来比较l1=[3,'a','g','j',]l2=[1,'c','g',]print(l1 > l2) #要一一对应,不然报错print('Z'>'a') #大写小于小写A-Z,a-zprint('a'>'G') #大于任何大写的字母
五.模拟数据结构
1.队列 : FIFO (先进先出)
- 类似于商场扶梯, 先上先下
l=[]?入队列l.append("first")l.append("second")l.append("third")print(l) #['first', 'second', 'third']?出队print(l.pop(0)) #firstprint(l.pop(0)) #secondprint(l.pop(0)) #third
2.堆栈 : LIFO (后进先出)
- 类似于往箱子里叠衣服
l=[]?入栈l.append("first")l.append("second")l.append("third")print(l) #['first', 'second', 'third']?出栈print(l.pop()) #thirdprint(l.pop()) #secondprint(l.pop()) #first
六.总结
- 可以有多个值
- 有序, 依赖于索引取值
- 可变类型—>不可 hash 类型
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月01日 22时15分51秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
SQL注入
2021-05-09
MPI Maelstrom POJ - 1502 ⭐⭐ 【Dijkstra裸题】
2021-05-09
Problem A - Sequence with Digits (数学推导)
2021-05-09
Problem 330A - Cakeminator (思维)
2021-05-09
LeetCode75 颜色分类 (三路快排C++实现与应用)
2021-05-09
C语言+easyX图形库的推箱子实现
2021-05-09
调试vs2019代码的流程
2021-05-09
脱壳与加壳-加壳-6-代码实现加密导入表
2021-05-09
Typora配置PicGo时,提示Failed to fetch
2021-05-09
ASP.NET CORE MVC 实现减号分隔(Kebab case)样式的 URL
2021-05-09
bcolz的新操作
2021-05-09
zmq的send
2021-05-09
阿里钉钉面试题
2021-05-09
C++中找资源或者函数的方法
2021-05-09
delete对象时会自动调用类的析构函数
2021-05-09
POD类型
2021-05-09
const与常量,傻傻分不清楚~
2021-05-09
Head First设计模式——迭代器模式
2021-05-09
MongoDB版本及存储引擎区别
2021-05-09
shell echo单行和多行文字定向写入到文件中
2021-05-09