python教程:12种列表常用操作方法
admin 阅读: 2024-03-25
后台-插件-广告管理-内容页头部广告(手机) |
都是基础知识,长久不用就会忘,温故知新,又来学习学习。相信很多人在编程的或者对一些程序处理的思维会用到,比如面试 (有写的不对的地方也请大家指正~
一、列表定义
列表是一个有序且可更改的集合。在Python中,列表用方括号表示。列表里面的内容可以是任意类型,可重复。
- li = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 1, 1, 2, 3]
- print(li)
- ['A', 'B', 'C', 'D', 'E', 'F', 'G', 1, 1, 2, 3]
二、向列表添加数据
1、追加 append方法
- li = ['A', 'B', 'C']
- li.append('E') # 一次只能添加一个元素,并且只能在列表最后
- print(li)
- ['A', 'B', 'C', 'E']
2、插入 insert方法,比append灵活,指定索引位,注意索引从0开始
- li = ['A', 'B', 'C']
- li.insert(0, 'M') # 在首位插入M,两个参数
- print(li)
- ['M', 'A', 'B', 'C']
三、删减列表中数据
1、弹出 pop方法
- li = ['A', 'B', 'C']
- li.pop() # 根据索引进行删除,默认删除最后一个元素,一次只能删除一个
- print(li)
- ['A', 'B']
删除指定位置的数据
- li = ['A', 'B', 'C']
- li.pop(0) # 删除第一位
- print(li)
- ['B', 'C']
2、移除 remove方法
- li = ['A', 'B', 'C']
- li.remove('B') # 删除列表中的值,一次只能删除一个
- print(li)
- ['A', 'C']
3、操作语句del
- li = ['A', 'B', 'C']
- del li[0] #删指定索引的元素,需要注意是del是一种操作语句
- print(li)
- ['B', 'C']
四、索引(即下标)
- li = ['A', 'B', 'C']
- print(li[0]) # 获取首位
- print(li[-1]) # 获取末尾
- A
- C
五、切片,顾头不顾尾
- li = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 1, 1, 2, 3]
- print(li[0:2]) # 获取前两位
- ['A', 'B']
- print(li[:]) # 获取全部
- ['A', 'B', 'C', 'D', 'E', 'F', 'G', 1, 1, 2, 3]
- print(li[4:]) # 获取第5位到尾部
- ['E', 'F', 'G', 1, 1, 2, 3]
- print(li[-3:-1]) # 获取倒数第3到倒数第2
- [1, 2]
六、跳取,涉及步长
要点,找到索引位,步长为正顺着取,步长为负,逆向取
- li = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 1, 1, 2, 3]
- print(li[1:5:3]) # 从第2位到第6位,隔2个获取
- ['B', 'E']
- print(li[0:5:2]) # 从开头到第6位,隔1个获取
- ['A', 'C', 'E']
- print(li[5:0:-2]) # 从第6位开始,隔1个倒着获取
- ['F', 'D', 'B']
七、常用列表操作符
1、复制 *
- li = ['A', 'B']
- print(li * 2) # 复制列表中的值追加到列表
- ['A', 'B', 'A', 'B']
2、拼接 +
- li = ['A', 'B']
- li2 = ['C', 'D']
- print(li + li2) # 两个列表拼接
- ['A', 'B', 'C', 'D']
八、统计列表某元素出现次数
- li = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 1, 1, 2, 3]
- print(li.count('A')) # 统计元素A出现的次数
- print(li.count(1)) # 统计元素1出现的次数
- 1
- 2
九、查找元素
如果列表中有重复元素,index方法只找首次出现的索引位
- li = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 1, 1, 2, 3]
- print(li.index('A')) # 查找元素A首次出现的索引位置
- print(li.index(1)) # 查找元素1首次出现的索引位置
- 0
- 7
十、反转列表
- li = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 1, 1, 2, 3]
- li.reverse() # 反转列表元素
- print(li)
- [3, 2, 1, 1, 'G', 'F', 'E', 'D', 'C', 'B', 'A']
十一、列表排序
只对全数值有效,否则会报错
- li = [1, 5, 2, 99, 6, 44, 66, 3, 34]
- li.sort() # 默认对列表数据进行从小到大排序
- print(li)
- [1, 2, 3, 5, 6, 34, 44, 66, 99]
- li.sort(reverse=True) # 对列表数据进行从大到小排序
- [99, 66, 44, 34, 6, 5, 3, 2, 1]
- #根据对列表元素反转的规律,从大到小排序也可以先sort后再reverse
- #li.sort()
- #li.reverse()
十二、拷贝列表
1、浅拷贝,改一个会影响另一个
- #浅拷贝
- l = ['A', 'B']
- k = l
- print(k)
- l.append('C')
- print(l)
- print(k) # 对l列表进行操作会同步影响k列表值
- ['A', 'B']
- ['A', 'B', 'C']
- ['A', 'B', 'C']
2、深拷贝,改一个不会影响另一个
- # 深拷贝
- m = ['A', 'B']
- n = m[:]
- print(n)
- m.append('C')
- print(m)
- print(n) # 对m列表进行操作不影响n列表值
- ['A', 'B']
- ['A', 'B', 'C']
- ['A', 'B']
3、copy函数,改一个不会影响另一个
- m = ['A', 'B']
- n = m.copy()
- print(n)
- m.append('C')
- print(n)
- ['A', 'B']
- ['A', 'B']
4、内建方法list,本质可以理解为转成列表,改一个不会影响另一个
- m = ['A', 'B']
- n = list(m)
- print(n)
- m.append('C')
- print(n)
- ['A', 'B']
- ['A', 'B']
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。
在线投稿:投稿 站长QQ:1888636
后台-插件-广告管理-内容页尾部广告(手机) |