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批量提交沙箱问题实例
Oct 08 Python
在Python中处理列表之reverse()方法的使用教程
May 21 Python
简单介绍Python的Django框架加载模版的方式
Jul 20 Python
python 3利用BeautifulSoup抓取div标签的方法示例
May 28 Python
Python变量赋值的秘密分享
Apr 03 Python
关于Tensorflow中的tf.train.batch函数的使用
Apr 24 Python
python3.4实现邮件发送功能
May 28 Python
python实现随机漫步算法
Aug 27 Python
Python编程实现tail-n查看日志文件的方法
Jul 08 Python
Python实现发票自动校核微信机器人的方法
May 22 Python
python判断all函数输出结果是否为true的方法
Dec 03 Python
Django操作cookie的实现
May 26 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算开始时间到过期时间的相隔的天数
2011/01/12 PHP
php调用c接口无错版介绍
2014/03/11 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
详解PHP的Yii框架中扩展的安装与使用
2016/04/01 PHP
PHP使用两个栈实现队列功能的方法
2018/01/15 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
2019/04/02 PHP
php session_decode函数用法讲解
2019/05/26 PHP
js常用代码段收集
2011/10/28 Javascript
jquery命令汇总,方便使用jquery的朋友
2012/06/26 Javascript
JavaScript中的style.display属性操作
2013/03/27 Javascript
基于jQuery实现的图片切换焦点图整理
2014/12/07 Javascript
Node.js的包详细介绍
2015/01/14 Javascript
jquery使用slideDown实现模块缓慢拉出效果的方法
2015/03/27 Javascript
JavaScript实现向setTimeout执行代码传递参数的方法
2015/04/16 Javascript
javascript实现3D切换焦点图
2015/10/16 Javascript
ajax跨域调用webservice的实现代码
2016/05/09 Javascript
浅谈js中字符和数组一些基本算法题
2016/08/15 Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
2018/06/14 Javascript
js正则表达式校验指定字符串的方法
2018/07/23 Javascript
vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
2018/11/05 Javascript
Vue动态路由缓存不相互影响的解决办法
2019/02/19 Javascript
element-ui表格合并span-method的实现方法
2019/05/21 Javascript
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
2020/03/10 Javascript
精读《Vue3.0 Function API》
2020/05/20 Javascript
Vuejs通过拖动改变元素宽度实现自适应
2020/09/02 Javascript
Python写的贪吃蛇游戏例子
2014/06/16 Python
Python基于DES算法加密解密实例
2015/06/03 Python
pandas.DataFrame.to_json按行转json的方法
2018/06/05 Python
python获取微信小程序手机号并绑定遇到的坑
2018/11/19 Python
Django mysqlclient安装和使用详解
2020/09/17 Python
基于Python实现全自动下载抖音视频
2020/11/06 Python
详解HTML5 data-* 自定义属性
2018/01/24 HTML / CSS
大学同学聚会邀请函
2014/01/19 职场文书
股东授权委托书范本
2014/09/13 职场文书
2014年法院工作总结
2014/11/24 职场文书
社区好人好事材料
2014/12/26 职场文书