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 httplib,smtplib使用方法
Sep 06 Python
python 布尔操作实现代码
Mar 23 Python
Python爬虫的两套解析方法和四种爬虫实现过程
Jul 20 Python
python里dict变成list实例方法
Jun 26 Python
python实现比较类的两个instance(对象)是否相等的方法分析
Jun 26 Python
python 用户交互输入input的4种用法详解
Sep 24 Python
python opencv将表格图片按照表格框线分割和识别
Oct 30 Python
python连接打印机实现打印文档、图片、pdf文件等功能
Feb 07 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
Nov 11 Python
Python 实现RSA加解密文本文件
Dec 30 Python
Python字符串的15个基本操作(小结)
Feb 03 Python
解决hive中导入text文件遇到的坑
Apr 07 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
PHP5+UTF8多文件上传类
2008/10/17 PHP
Apache实现Web Server负载均衡详解(不考虑Session版)
2013/07/05 PHP
curl不使用文件存取cookie php使用curl获取cookie示例
2014/01/26 PHP
zend framework框架中url大小写问题解决方法
2014/08/19 PHP
php实现的简单美国商品税计算函数
2015/07/13 PHP
PHP实现C#山寨ArrayList的方法
2015/07/16 PHP
Laravel搭建后台登录系统步骤详解
2016/07/26 PHP
php对象工厂类完整示例
2018/08/09 PHP
PHP fclose函数用法总结
2019/02/15 PHP
JS替换字符串中字符即替换全部而不是第一个
2014/06/04 Javascript
jQuery使用hide方法隐藏指定元素class样式用法实例
2015/03/30 Javascript
JavaScript保存并运算页面中数字类型变量的写法
2015/07/06 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
2016/05/20 Javascript
详解nodejs 文本操作模块-fs模块(二)
2016/12/22 NodeJs
基于JavaScript实现本地图片预览
2017/02/08 Javascript
详解angular element()方法使用
2017/04/08 Javascript
详解用函数式编程对JavaScript进行断舍离
2017/09/18 Javascript
微信小程序实现联动选择器
2019/02/15 Javascript
你不可不知的Vue.js列表渲染详解
2019/10/01 Javascript
antd 表格列宽自适应方法以及错误处理操作
2020/10/27 Javascript
[59:08]DOTA2上海特级锦标赛C组小组赛#2 LGD VS Newbee第一局
2016/02/27 DOTA
Python for Informatics 第11章 正则表达式(一)
2016/04/21 Python
Python实现嵌套列表及字典并按某一元素去重复功能示例
2017/11/30 Python
Python输出各行命令详解
2018/02/01 Python
python pandas 组内排序、单组排序、标号的实例
2018/04/12 Python
python3多线程知识点总结
2019/09/26 Python
使用Fabric自动化部署Django项目的实现
2019/09/27 Python
Python使用Pandas读写Excel实例解析
2019/11/19 Python
python手写均值滤波
2020/02/19 Python
Pycharm自动添加文件头注释和函数注释参数的方法
2020/10/23 Python
大学教师年终总结的自我评价
2013/10/29 职场文书
西式结婚主持词
2014/03/14 职场文书
喷漆工的岗位职责
2014/03/17 职场文书
诚信考试承诺书
2014/03/27 职场文书
导游词之山东八仙过海景区
2019/11/11 职场文书
nginx服务器的下载安装与使用详解
2021/08/02 Servers