Python基础-Python 一定要吃透这 5 个内置函数
文章插图
出品:Python数据之道
作者:Peter
编辑:Lemon
本文中介绍 Python 中 5 个高阶内置函数 , 它们不仅能够帮助我们了解 Python 的数据结构 , 同时也能加快数据处理的速度 , 体会到 Python 的强大 。
- zip
- filter
- enumberate
- reversed/reverse
- eval
文章插图
1、zip引例首先 , 我们先来学习一个非常强大的内置函数: zip 。 通过一个例子来引出 zip的使用:
需求:如果我们想对两个列表对应位置上的数字一一求和 , 该如何操作?
x = [1,2,3]y = [4,5,6]
- for循环实现
文章插图
- zip实现
文章插图
具体实现过程:
文章插图
查看使用文档
help(zip)
文章插图
zip接受一个序列
- 空序列
文章插图
- 接受列表、元组、集合、字符串
文章插图
zip接受多个序列接受列表、元组、集合、字符串的任意组合:
## 列表、元组、集合、字符串的随意组合a = [1,2,3]b = {4,5,6}c = (7,8,9)d = "zip"print(list(zip(a,b)))# 列表+集合print("------------")print(list(zip(a,c)))# 列表+元组print("------------") print(list(zip(b,d)))# 集合+元组print("------------")print(list(zip(c,d)))# 元组+字符串print("------------")print(list(zip(a,b,c)))# 列表+集合+字符串
文章插图
zip处理不同长度上面的多个元素的长度都是相同的 , 下面的例子来展示 zip处理不同长度的序列 。
我们发现:zip会选择最小长度的序列进行合并
文章插图
2、filterfilter本身是 过滤的意思:就是将那些不符合我们要求的数据直接过滤舍弃掉 , 剩下那些符合要求的数据 。
查看帮助文档将序列中的每个元素传递给函数 , 执行的结果为 True或者 False , 将结果为 True的元素放入新的列表中 。
返回的是 filter对象 。 如果想看具体的数据 , 需要使用 list来展开 。
help(filter)
文章插图
使用自定义函数
文章插图
使用匿名函数lambda
文章插图
直接筛选条件
list(filter(lambda x: x>1, [0,1,9,-4,8,100]))
具体结果为:[9, 8, 100]
字符筛选list(filter(lambda x: x!="shenzhen", ["guangzhou","shanghai","shenzhen","changsha"])) # 筛选不满足要求的字符串
['guangzhou', 'shanghai', 'changsha']
3、enumerate【Python基础-Python 一定要吃透这 5 个内置函数】enumerate是 Python的一个重要内置函数 , 返回的是可迭代序列的元素和下标 , 对列表、集合、字典、字符串等都适用的 。在 Python的 for循环中使用的非常广泛 。
如果想查看结果 , 需要使用list函数来进行显示 。
查看帮助文档
help(enumerate)
文章插图
用于列表、集合、元组、字符串、字典
文章插图
文章插图
4、reversedreversed()函数是返回序列 seq的反向访问的迭代器 。
参数可以是 列表 , 元组 , 字符串 , 不改变原对象均可 。 下面通过具体的例子来说明:
查看帮助文档
help(reversed)
文章插图
用于列表
文章插图
- 分离基础|数据中心融合的过去、现在和未来
- 电脑知识|北大青鸟:零基础学电脑从哪里入手
- IT|信服云为IT基础架构演进提供新思路
- 告诉|阿里大佬告诉你如何一分钟利用Python在家告别会员看电影
- Python源码阅读-基础1
- Python调用时使用*和**
- 如何基于Python实现自动化控制鼠标和键盘操作
- 解决多版本的python冲突问题
- 学习python第二弹
- Python中文速查表-Pandas 基础