Python列表操作方法详解


Posted in Python onFebruary 09, 2020

本节内容

  • 0、列表常用功能汇总
  • 1、定义列表
  • 2、访问列表中的元素
  • 3、切片
  • 4、追加
  • 5、插入
  • 6、修改
  • 7、拷贝
  • 8、删除
  • 9、扩展
  • 10、统计
  • 11、翻转
  • 12、排序
  • 13、获取下标值
  • 14、清空列表

列表是Python最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作

0、列表常用功能汇总

Python列表操作方法详解

1、定义列表

>>> name=[]#定义空列表
>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
#定义一个非空列表

 2、访问列表中的元素

>>> name=[]
>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name[0]
'luoahong'
>>> name[1]
'chenqun'
>>> name[2]
'wenhai'
>>> name[3]
'daiqiao'
>>> name[-1]#倒着取最后一个值
'guiwei'
>>> name[-2]
'xiedi'

 注:列表的下标值是从0开始取值的

3、切片

>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name[1:3]
['chenqun', 'wenhai']
>>> name[1:-1]
['chenqun', 'wenhai', 'daiqiao', 'xiedi']
>>> name[0:3]
['luoahong', 'chenqun', 'wenhai']
>>> name[:3]
['luoahong', 'chenqun', 'wenhai']
>>> name[3:]
['daiqiao', 'xiedi', 'guiwei']
>>> name[:2]
['luoahong', 'chenqun']
>>> name[::2]
['luoahong', 'wenhai', 'xiedi']

切片小结:

①序列始终都是从左向右切片的,不能是从右向左

①列表切片时,起始位的元素是包括的,结束位的元素是不包括(又叫顾头不顾尾),最后一个位置表示步长(names[开始位:结束位:步长])

②如果从0位置取值,0可以省略

③想取最后一个值时,结束位不能是-1,因为结束位的元素不包括,所以只能留空

4、追加(append(元素))

>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name.append("liuhailin")
>>> name
['luoahong', 'chenqun', 'wenhai', 'daiqiao', 'xiedi', 'guiwei', 'liuhailin']#liuhailin是新加的

5、插入(insert(下标值,插入的内容))

>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name.insert(0,"liyang")#0表示需要插入的下标值,'1'表示插入的内容
>>> name
['liyang', 'luoahong', 'chenqun', 'wenhai', 'daiqiao', 'xiedi', 'guiwei'] 
#在下标值为0的地方插入liyang

 6、修改

>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name[1]='chenqundage'
>>> name
['luoahong', 'chenqundage', 'wenhai', 'daiqiao', 'xiedi', 'guiwei']

 注:修改列表中的元素,直接是 names[下标值] = 新值

7、拷贝(copy())

>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name2=name.copy()
>>> name2
['luoahong', 'chenqun', 'wenhai', 'daiqiao', 'xiedi', 'guiwei']

 注:这边的copy都是浅copy,只能copy第一层。深浅拷贝的详细信息:

8、删除(del、remove(元素)、pop())

#根据下标值删除元素
>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> del name[0]
>>> name
['chenqun', 'wenhai', 'daiqiao', 'xiedi', 'guiwei']
#根据元素删除
>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name.remove('xiedi')
>>> name
['luoahong', 'chenqun', 'wenhai', 'daiqiao', 'guiwei']
#删除最后一个
>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name.pop()
'guiwei'
>>>
>>> 

 注:

①如果pop()中有下标值,则是删掉具体某个元素,其效果和del的效果是一样的

>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name.pop(1) #在输入下标值得情况下和del的效果是一样的
'chenqun'
>>> name
['luoahong', 'wenhai', 'daiqiao', 'xiedi', 'guiwei']

②del关键字不仅可以删除列表中的元素,也可以删除变量

>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
#删除name这个变量
 del name
>>> name
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
NameError: name 'name' is not defined

 注:

①如果pop()中有下标值,则是删掉具体某个元素,其效果和del的效果是一样的

②del关键字不仅可以删除列表中的元素,也可以删除变量

 9、扩展(extend)

>>> name1=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name2=['1','2','3','4','5','6']
>>> name1.extend(name2)
>>> name1
['luoahong', 'chenqun', 'wenhai', 'daiqiao', 'xiedi', 'guiwei', '1', '2', '3', '4', '5', '6']

注:names2的列表合并到names1中,但是,names2这个列表依然存在,如果想删除names2这个变量,则只需del names2即可

10、统计(count(元素))

>>> name1=['luoahong','chenqun','wenhai','daiqiao','chenqun','xiedi','guiwei','chenqun']
>>> name1.count('chenqun')#统计元素'chenqun'元素的个数
3

 11、翻转(reverse())

>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name.reverse()
>>> name
['guiwei', 'xiedi', 'daiqiao', 'wenhai', 'chenqun', 'luoahong'] #将整个列表翻转过来

 12、排序(sort())

>>> name=['4','3','2','1']
>>> name.sort()
>>> name
['1', '2', '3', '4']

 13、获取下标值(index(元素))

>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name.index('chenqun')
1

 14、清空列表(clear())

>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name.clear()
NameError: name 'names' is not defined
>>> name
[]

更多关于Python列表操作方法请查看下面的相关链接

Python 相关文章推荐
python中对list去重的多种方法
Sep 18 Python
Python实现列表转换成字典数据结构的方法
Mar 11 Python
Python中的异常处理相关语句基础学习笔记
Jul 11 Python
关于Python数据结构中字典的心得
Dec 04 Python
python实现三次样条插值
Dec 17 Python
关于Python 的简单栅格图像边界提取方法
Jul 05 Python
Python 硬币兑换问题
Jul 29 Python
python实现猜拳小游戏
Apr 05 Python
Python 合并多个TXT文件并统计词频的实现
Aug 23 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
Jun 02 Python
pycharm 的Structure界面设置操作
Feb 05 Python
python井字棋游戏实现人机对战
Apr 28 Python
Python2与Python3的区别详解
Feb 09 #Python
python默认参数调用方法解析
Feb 09 #Python
Python集合操作方法详解
Feb 09 #Python
Python字符编码转码之GBK,UTF8互转
Feb 09 #Python
Python基础之字符串操作常用函数集合
Feb 09 #Python
python连接PostgreSQL过程解析
Feb 09 #Python
Python +Selenium解决图片验证码登录或注册问题(推荐)
Feb 09 #Python
You might like
php+html5+ajax实现上传图片的方法
2016/05/14 PHP
javascript中的对象和数组的应用技巧
2007/01/07 Javascript
js页面跳转常用的几种方式
2010/11/25 Javascript
基于jQuery的烟花效果(运动相关)点击屏幕出烟花
2012/06/14 Javascript
DIV+CSS+JS不间断横向滚动实现代码
2013/03/19 Javascript
extjs_02_grid显示本地数据、显示跨域数据
2014/06/23 Javascript
JS跨域问题详解
2014/11/25 Javascript
NodeJS学习笔记之Connect中间件模块(一)
2015/01/27 NodeJs
jquery中object对象循环遍历的方法
2015/12/18 Javascript
AngularJS extend用法详解及实例代码
2016/11/15 Javascript
js实现带缓动动画的导航栏效果
2017/01/16 Javascript
jQuery移除或禁用html元素点击事件常用方法小结
2017/02/10 Javascript
Bootstrap表单制作代码
2017/03/17 Javascript
分享Bootstrap简单表格、表单、登录页面
2017/08/04 Javascript
详解微信小程序框架wepy踩坑记录(与vue对比)
2019/03/12 Javascript
koa2 用户注册、登录校验与加盐加密的实现方法
2019/07/22 Javascript
使用Angular9和TypeScript开发RPG游戏的方法
2020/03/25 Javascript
vue设置全局访问接口API地址操作
2020/08/14 Javascript
[01:20]PWL开团时刻DAY9——听说潮汐没用?
2020/11/10 DOTA
使用Python编写一个最基础的代码解释器的要点解析
2016/07/12 Python
Python爬取APP下载链接的实现方法
2016/09/30 Python
浅谈Python的垃圾回收机制
2016/12/17 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
2018/01/27 Python
Python Selenium 之数据驱动测试的实现
2019/08/01 Python
TensorFlow tf.nn.max_pool实现池化操作方式
2020/01/04 Python
简单了解如何封装自己的Python包
2020/07/08 Python
美国著名的团购网站:Woot
2016/08/02 全球购物
FC-Moto瑞典:欧洲最大的摩托车服装和头盔商店之一
2018/11/27 全球购物
Linux操作面试题
2015/02/11 面试题
2014年教学工作总结
2014/11/13 职场文书
公司仓管员岗位职责
2015/04/01 职场文书
感恩教育主题班会
2015/08/12 职场文书
保安辞职申请书应该怎么写?
2019/07/15 职场文书
申论不会写怎么办?教您掌握这6点思维和原则
2019/07/17 职场文书
python办公自动化之excel的操作
2021/05/23 Python
Redis源码阅读:Redis字符串SDS详解
2021/07/15 Redis