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生成器generator用法实例分析
Jun 04 Python
python 读入多行数据的实例
Apr 19 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
Apr 20 Python
numpy.linspace 生成等差数组的方法
Jul 02 Python
详解pyenv下使用python matplotlib模块的问题解决
Nov 29 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
Dec 24 Python
python替换字符串中的子串图文步骤
Jun 19 Python
python 猴子补丁(monkey patch)
Jun 26 Python
python实现飞机大战游戏(pygame版)
Oct 26 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
Feb 29 Python
解决python脚本中error: unrecognized arguments: True错误
Apr 20 Python
python连接mongodb数据库操作数据示例
Nov 30 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
openPNE常用方法分享
2011/11/29 PHP
php删除文件夹及其文件夹下所有文件的函数代码
2013/01/23 PHP
php获取系统变量方法小结
2015/05/29 PHP
JavaScript中this关键字使用方法详解
2007/03/08 Javascript
jquery api参考 visualjquery 中国线路 速度快
2007/11/30 Javascript
JavaScript入门教程(12) js对象化编程
2009/01/31 Javascript
jquery 实现的全选和反选
2009/04/15 Javascript
JS 实现完美include载入实现代码
2010/08/05 Javascript
jquery之empty()与remove()区别说明
2010/09/10 Javascript
JS操作数据库的实例代码
2013/10/17 Javascript
fastclick插件导致日期(input[type=&quot;date&quot;])控件无法被触发该如何解决
2015/11/09 Javascript
基于AngularJS+HTML+Groovy实现登录功能
2016/02/17 Javascript
当jquery ajax遇上401请求的解决方法
2016/05/19 Javascript
Bootstrap中datetimepicker使用小结
2016/12/28 Javascript
Angularjs单选改为多选的开发过程及问题解析
2017/02/17 Javascript
利用Jasmine对Angular进行单元测试的方法详解
2017/06/12 Javascript
详解React之父子组件传递和其它一些要点
2018/06/25 Javascript
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
2016/01/20 Python
通过python将大量文件按修改时间分类的方法
2018/10/17 Python
Python及Pycharm安装方法图文教程
2019/08/05 Python
windows下python安装pip方法详解
2020/02/10 Python
Django Xadmin多对多字段过滤实例
2020/04/07 Python
python 利用matplotlib在3D空间绘制二次抛物面的案例
2021/02/06 Python
python爬虫scrapy基于CrawlSpider类的全站数据爬取示例解析
2021/02/20 Python
CSS3使用多列制作瀑布流
2016/05/10 HTML / CSS
Html+Css+Jquery实现左侧滑动拉伸导航菜单栏的示例代码
2020/03/17 HTML / CSS
台湾百利市购物中心:e-Payless
2017/08/16 全球购物
理肤泉英国官网:La Roche-Posay英国
2019/01/14 全球购物
酒店总经理工作职责
2013/12/13 职场文书
生产部主管岗位职责
2014/01/06 职场文书
幼儿园校车司机的岗位职责
2014/01/30 职场文书
工会主席岗位责任制
2014/02/11 职场文书
高中军训的心得体会
2014/09/01 职场文书
班主任先进事迹材料
2014/12/17 职场文书
2015年班主任个人工作总结
2015/03/31 职场文书
2015年环卫工作总结
2015/04/28 职场文书