Python列表常见操作详解(获取,增加,删除,修改,排序等)


Posted in Python onFebruary 18, 2019

本文实例讲述了Python列表常见操作。分享给大家供大家参考,具体如下:

列表是由一系列按特定顺序排列的元素组成的对象。因为列表通常包含多个元素, 所以建议给列表指定一个表示复数的名称。

我们用方括号( [] ) 来表示列表, 并用逗号来分隔其中的元素。

types=['娱乐','体育','科技']
print(types)

运行结果:

['娱乐', '体育', '科技']

可以看到,打印列表的同时,也会将方括号打印出来。

1 获取元素

要获取列表中的某个元素, 在方括号内指定元素的索引即可:

print('第三个类型:'+types[2])

运行结果:

第三个类型:科技

当我们请求获取列表元素时, 只会返回该元素本身。

2 索引从 0 开始

跟大多数编程语言相同,索引从 0 开始计数。因此,需要获取列表的任何元素, 都可将其位置减1, 作为索引。

将索引指定为 -1,还可以获取最后一个列表元素,这样就可以在不知道列表长度的情况下,获取最后一个元素:

print('最后一个:'+types[-1])

运行结果:

最后一个:科技

这种语法也适用于其他负数索引。索引 -2 获取倒数第二个列表元素, 索引 -3 获取倒数第三个列表元素, 以此类推。

print('倒数第二个:'+types[-2])

运行结果:

倒数第二个:体育

3 新增元素

  • 3.1 列表末尾

append() 方法可以将元素附加到列表末尾:

types.append('财经')
print(types)

运行结果:

['娱乐', '体育', '科技', '财经']

append() 方法很适合动态地创建列表。我们可以先创建一个空列表, 然后再使用一系列的append() 方法为列表添加元素。

colors=[]
colors.append('绿色')
colors.append('蓝色')
colors.append('紫色')
print(colors)

运行结果:

['绿色', '蓝色', '紫色']

  • 3.2 指定位置

insert() 可以在列表的任意位置添加新元素。这个方法的入参是新元素的索引和值。

colors.insert(0,'红色')
print(colors)

运行结果:

['红色', '绿色', '蓝色', '紫色']

在这个示例中, 值 ' 红色' 被插入到了列表头,列表中既有的元素都右移了一个位置。

4 修改元素

修改列表元素的语法与获取列表元素的语法相似。我们可指定列表名、要修改的元素索引以及新值:

colors[0]='白色'
print(colors)

运行结果:

['白色', '绿色', '蓝色', '紫色']

5 删除元素

  • 5.1 del()

如果知道要删除的元素在列表中的位置,那么可以使用 del():

del colors[0]
print(colors)

运行结果:

['绿色', '蓝色', '紫色']

  • 5.2 pop()

把列表想象成一个栈。pop() 方法会弹出栈顶元素(即列表末尾最后一个元素),并返回这个元素。

print('执行前:'+str(colors))
poped_color=colors.pop()
print('栈顶元素:'+poped_color)
print('执行后:'+str(colors))

运行结果:

执行前:['绿色', '蓝色', '紫色']
栈顶元素:紫色
执行后:['绿色', '蓝色']

只要指定好要删除的元素索引,pop() 也可以用来删除列表中任何位置的元素:

print('执行前:'+str(colors))
poped_color=colors.pop(0)
print('删除的元素:'+poped_color)
print('执行后:'+str(colors))

运行结果:

执行前:['绿色', '蓝色']
删除的元素:绿色
执行后:['蓝色']

  • 5.3 比较 del()pop()

del() :从列表中删除一个元素, 且不再使用它。
pop():从列表中删除一个元素, 且还需要使用它。

  • 5.4 根据值删除 remove()
print('执行前:'+str(colors))
colors.remove('蓝色')
print('执行后:'+str(colors))

运行结果:

执行前:['蓝色']
执行后:[]

**注意:**remove() 只会删除第一个指定的值。 如果需要删除多个指定的值, 那么就需要使用循环咯O(∩_∩)O~

6 排序

  • 6.1 永久性排序 sort()
types=['sport','travel','business']
types.sort()
print("按字母顺序正序排序后:"+str(types));
types.sort(reverse=True)
print("按字母顺序逆序排序后:"+str(types));

运行结果:

按字母顺序正序排序后:['business', 'sport', 'travel']
按字母顺序逆序排序后:['travel', 'sport', 'business']

sort() 会永久性(再也恢复不回去咯)地改变列表元素的排列顺序(按字母顺序)。如果需要对中文的拼音进行排序,需要引入第三方库。

sort() 方法传递参数 reverse=True,就可以按照字母顺序逆序的规则来排列元素。

  • 6.2 临时排序 sorted()

函数sorted() 可以保留列表元素原有的排列顺序, 同时返回排序后的列表。

types=['sport','travel','business']
print("排序后:"+str(sorted(types)));
print("原列表:"+str(types));
print("按字母顺序逆序排序后:"+str(sorted(types,reverse=True)));

运行结果:

排序后:['business', 'sport', 'travel']
原列表:['sport', 'travel', 'business']
按字母顺序逆序排序后:['travel', 'sport', 'business']

**注意:**调用函数 sorted() 后, 原有列表的元素排列顺序没有被改变,所以叫临时排序。

sorted() 函数也支持参数 reverse=True,按照字母顺序逆序的规则来排列元素。

  • 6.3 倒序 reverse()

reverse() 会反转列表原有元素的排列顺序。

types=['娱乐','体育','科技']
print('倒序前:'+str(types))
types.reverse()
print('倒序后:'+str(types))

运行结果:

倒序前:['娱乐', '体育', '科技']
倒序后:['科技', '体育', '娱乐']

7 列表长度 len()

types=['娱乐','体育','科技']
print(len(types))

运行结果:

3

8 索引错误

发生索引错误时, 建议将列表或长度打印出来,通过查看这些内容, 可以帮助我们找出错误引发的原因哦O(∩_∩)O~

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python使用arp欺骗伪造网关的方法
Apr 24 Python
Django框架自定义session处理操作示例
May 27 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
Sep 10 Python
Python中base64与xml取值结合问题
Dec 22 Python
Java ExcutorService优雅关闭方式解析
May 30 Python
Python多线程threading创建及使用方法解析
Jun 17 Python
基于pytorch中的Sequential用法说明
Jun 24 Python
Python制作数据预测集成工具(值得收藏)
Aug 21 Python
用python写一个带有gui界面的密码生成器
Nov 06 Python
PyTorch中的拷贝与就地操作详解
Dec 09 Python
Python APScheduler执行使用方法详解
Dec 10 Python
用Python可视化新冠疫情数据
Jan 18 Python
Python File(文件) 方法整理
Feb 18 #Python
Python异常处理知识点总结
Feb 18 #Python
Python os.access()用法实例
Feb 18 #Python
python使用pipeline批量读写redis的方法
Feb 18 #Python
Python变量类型知识点总结
Feb 18 #Python
Python中文编码知识点
Feb 18 #Python
对Python的多进程锁的使用方法详解
Feb 18 #Python
You might like
多php服务器实现多session并发运行
2006/10/09 PHP
利用递归把多维数组转为一维数组的函数
2006/10/09 PHP
mayfish 数据入库验证代码
2010/04/30 PHP
让PHP显示Facebook的粉丝数量方法
2014/01/08 PHP
php简单实现短网址(短链)还原的方法(测试可用)
2016/05/09 PHP
php实现的读取CSV文件函数示例
2017/02/07 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
PHP设计模式之观察者模式定义与用法示例
2018/08/04 PHP
把html页面的部分内容保存成新的html文件的jquery代码
2009/11/12 Javascript
javascript下数值型比较难点说明
2010/06/07 Javascript
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
2010/08/13 Javascript
原生js实现shift/ctrl/alt按键的获取
2013/04/08 Javascript
轻松学习jQuery插件EasyUI EasyUI表单验证
2015/12/01 Javascript
写给小白的JavaScript引擎指南
2015/12/04 Javascript
web前端开发upload上传头像js示例代码
2016/10/22 Javascript
three.js中文文档学习之通过模块导入
2017/11/20 Javascript
浅析Vue自定义组件的v-model
2017/11/26 Javascript
javascript修改浏览器title方法 JS动态修改浏览器标题
2017/11/30 Javascript
layui的table单击行勾选checkbox功能方法
2018/08/14 Javascript
详解vue-router数据加载与缓存使用总结
2018/10/29 Javascript
js取0-9随机取4个数不重复的数字代码实例
2019/03/27 Javascript
跟混乱的页面弹窗说再见
2019/04/11 Javascript
JavaScript中的this/call/apply/bind的使用及区别
2020/03/06 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
[00:43]TI7不朽珍藏III——幽鬼不朽展示
2017/07/15 DOTA
Python+selenium 获取浏览器窗口坐标、句柄的方法
2018/10/14 Python
python实现简单登陆系统
2018/10/18 Python
对python文件读写的缓冲行为详解
2019/02/13 Python
pandas.cut具体使用总结
2019/06/24 Python
工商治理实习生的自我评价
2014/01/15 职场文书
函授本科自我鉴定
2014/02/04 职场文书
兰兰过桥教学反思
2014/02/08 职场文书
元宵节寄语大全
2015/02/27 职场文书
小学生大队委竞选稿
2015/11/20 职场文书
小组口号霸气押韵
2015/12/24 职场文书
2016年劳模先进事迹材料
2016/02/25 职场文书