Python列表list常用内建函数实例小结


Posted in Python onOctober 22, 2019

本文实例总结了Python列表list常用内建函数。分享给大家供大家参考,具体如下:

>>> x = list(range(10))
>>> import random
>>> random.shuffle(x) #打乱顺序
>>> x
[2, 4, 5, 9, 3, 7, 8, 0, 6, 1]
>>> max(x) #返回最大值
9
>>> min(x) #返回最小值
0
>>> sum(x) #所有元素之和
45
>>> len(x) #所有元素个数
10
>>> list(zip(x,[1]*10)) #多列表重新组合
[(2, 1), (4, 1), (5, 1), (9, 1), (3, 1), (7, 1), (8, 1), (0, 1), (6, 1), (1, 1)]
>>> list(zip(range(1,4))) #zip()函数可以用于一个序列或者迭代对象
[(1,), (2,), (3,)]
>>> list(zip(['a','b','c'],[1,2])) #两个列表不等长,以短的为准
[('a', 1), ('b', 2)]
>>> enumerate(x) #枚举列表元素,返回enumerate对象
<enumerate object at 0x0000016166A057E0>
>>> list(enumerate(x)) #enumerate对象可迭代
[(0, 2), (1, 4), (2, 5), (3, 9), (4, 3), (5, 7), (6, 8), (7, 0), (8, 6), (9, 1)]
>>> x
[2, 4, 5, 9, 3, 7, 8, 0, 6, 1]
>>> list(map(str,range(5))) #转换为字符串
['0', '1', '2', '3', '4']
>>> def add5(v):
  return v+5
>>> list(map(add5,range(10))) #将单参数函数映射到所有元素
[5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
>>> def add(x,y):
  return x+y
>>> list(map(add,range(5),range(5,10))) #将双参数函数映射到两个序列上
[5, 7, 9, 11, 13]
>>> list(map(lambda x,y:x+y, range(5), range(5,10)))
[5, 7, 9, 11, 13]
>>> [add(x,y) for x, y in zip(range(5), range(5,10))]
[5, 7, 9, 11, 13]
>>>

标准库functools中的reduce()可以将一个接受2个参数的函数以累积的方式从左到右一次作用到一个序列或迭代器对象的所有元素上

>>> from functools import reduce
>>> seq = [1,2,3,4,5,6,7,8,9]
>>> reduce(lambda x, y:x+y,seq)
45
>>>
>>> seq = ['foo','x33','?!','***']
>>> def func(x):
  return x.isalnum() #测试是否为字母或者数字
>>> filter(func, seq)   #返回filter对象
<filter object at 0x000001B376088BA8>
>>> list(filter(func,seq)) #将filter对象转换为list
['foo', 'x33']
>>> seq
['foo', 'x33', '?!', '***']
>>> [x for x in seq if x.isalnum()] #用列表推导式实现相同功能
['foo', 'x33']
>>> list(filter(lambda x:x.isalnum(),seq)) #用lambda实现相同功能
['foo', 'x33']
>>> list(filter(None,[1,2,3,0,0,4,0,5])) #指定函数为None
[1, 2, 3, 4, 5]
>>>
>>> import random
>>> x = [random.randint(1,100) for i in range(10)] #生成10个1-100区间的随机数
>>> x
[72, 11, 80, 97, 94, 75, 70, 21, 21, 41]
>>> list(map(lambda i:i+5, x)) #所有元素加5
[77, 16, 85, 102, 99, 80, 75, 26, 26, 46]
>>> x = [random.randint(1,10) for i in range(10)]
>>> x
[5, 7, 6, 2, 6, 1, 5, 1, 2, 7]
>>> y = [random.randint(1,10) for i in range(10)]
>>> y
[2, 10, 9, 7, 7, 4, 9, 1, 7, 1]
>>> import operator
>>> sum(map(operator.mul, x, y)) #向量内积
261
>>> sum((i*j for i,j in zip(x,y))) #使用内置函数计算向量内积
261
>>> list(map(operator.add, x, y)) #两个等长的向量对应元素相加
[7, 17, 15, 9, 13, 5, 14, 2, 9, 8]
>>> list(map(lambda i,j: i+j, x,y)) #使用lambda实现同样功能
[7, 17, 15, 9, 13, 5, 14, 2, 9, 8]
>>>

更多关于Python相关内容可查看本站专题:《Python列表(list)操作技巧总结》、《Python字符串操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

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

Python 相关文章推荐
使用Python进行稳定可靠的文件操作详解
Dec 31 Python
对于Python的Django框架使用的一些实用建议
Apr 03 Python
在Python中操作文件之read()方法的使用教程
May 24 Python
Python判断Abundant Number的方法
Jun 15 Python
Python PyQt5实现的简易计算器功能示例
Aug 23 Python
python实现简单http服务器功能
Sep 17 Python
Python实现的拉格朗日插值法示例
Jan 08 Python
Python实现截取PDF文件中的几页代码实例
Mar 11 Python
Python中的Socket 与 ScoketServer 通信及遇到问题解决方法
Apr 01 Python
Pytorch实现LSTM和GRU示例
Jan 14 Python
python根据字典的键来删除元素的方法
Aug 16 Python
运行Python编写的程序方法实例
Oct 21 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
Oct 22 #Python
Python异常模块traceback用法实例分析
Oct 22 #Python
Python多线程爬取豆瓣影评API接口
Oct 22 #Python
Python Process多进程实现过程
Oct 22 #Python
详解python中eval函数的作用
Oct 22 #Python
FFT快速傅里叶变换的python实现过程解析
Oct 21 #Python
python 采用paramiko 远程执行命令及报错解决
Oct 21 #Python
You might like
PHP访问MYSQL数据库封装类(附函数说明)
2010/12/04 PHP
php 判断字符串中是否包含html标签
2014/02/17 PHP
PHP开发中AJAX技术的简单应用
2015/12/11 PHP
Laravel中unique和exists验证规则的优化详解
2018/01/28 PHP
Jquery网页出现的乱码问题的三种解决方法
2013/06/30 Javascript
javascript计算当月剩余天数(天数计算器)示例代码
2014/01/09 Javascript
node.js中的events.emitter.removeAllListeners方法使用说明
2014/12/10 Javascript
arguments对象验证函数的参数是否合法
2015/06/26 Javascript
Node.js插件安装图文教程
2016/05/06 Javascript
纯JavaScript手写图片轮播代码
2016/10/20 Javascript
基于jquery二维码生成插件qrcode
2017/01/07 Javascript
基于JavaScript实现飘落星星特效
2017/08/10 Javascript
Vue 动态设置路由参数的案例分析
2018/04/24 Javascript
微信小程序实现下拉框功能
2019/07/16 Javascript
微信小程序HTTP请求从0到1封装
2019/09/09 Javascript
vue中echarts的用法及与elementui-select的协同绑定操作
2020/11/17 Vue.js
Python实现的生成自我描述脚本分享(很有意思的程序)
2014/07/18 Python
深入解析Python中的变量和赋值运算符
2015/10/12 Python
Python简单实现自动删除目录下空文件夹的方法
2017/08/29 Python
详解python上传文件和字符到PHP服务器
2017/11/24 Python
Python+OpenCV目标跟踪实现基本的运动检测
2018/07/10 Python
Python zip函数打包元素实例解析
2019/12/11 Python
完美解决Django2.0中models下的ForeignKey()问题
2020/05/19 Python
Python 添加文件注释和函数注释操作
2020/08/09 Python
Python通过fnmatch模块实现文件名匹配
2020/09/30 Python
纯css3使用vw和vh实现自适应的方法
2018/02/09 HTML / CSS
使用layui实现左侧菜单栏及动态操作tab项的方法
2020/11/10 HTML / CSS
南非领先的在线旅行社:Travelstart南非
2016/09/04 全球购物
八项规定对照检查材料
2014/08/31 职场文书
2014年大学生职业规划书:未来不是梦,只要勇敢冲!
2014/09/22 职场文书
民主评议党员个人总结
2015/02/13 职场文书
教师评职称工作总结2015
2015/04/20 职场文书
2015年学校总务处工作总结
2015/05/19 职场文书
中小学教师继续教育心得体会
2016/01/19 职场文书
导游词之云南-元阳梯田
2019/10/08 职场文书
Win10服务主机占用内存怎么办?Win10服务主机进程占用大量内存解决方法
2022/09/23 数码科技