没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
2页
Python小技巧之列表推导式到匿名函数 最近又看了一遍python的基础知识,所谓温故而知新,哈哈哈,所以在这里写下自己的一些见解,我觉得在实战过程中还是非常有用的一些小技巧,也分享给大家,如果写的不好,请大家留言或者私信我,一起学习一下! 下面进入正题: 列表推导式 个人觉得列表推导式非常强大,在实战中也经常用到 所谓列表推导式就是使用列表结合for循环快速创建一个新的列表,列表推导式返回的是一个列表类型 Python在执行列表推导式时,会对可迭代对象 L 进行迭代,将每一次迭代的值赋给循环变量 x ,然后收集变量表达式 x ** 2 的计算结果,最终由这些结果构成了新的列表,也就是列表推
资源详情
资源评论
资源推荐
Python小技巧之列表推导式到匿名函数小技巧之列表推导式到匿名函数
Python小技巧之列表推导式到匿名函数小技巧之列表推导式到匿名函数
最近又看了一遍python的基础知识,所谓温故而知新,哈哈哈,所以在这里写下自己的一些见解,我觉得在实战过程中还是非
常有用的一些小技巧,也分享给大家,如果写的不好,请大家留言或者私信我,一起学习一下!
下面进入正题:
列表推导式列表推导式
个人觉得列表推导式非常强大,在实战中也经常用到
所谓列表推导式就是使用列表结合for循环快速创建一个新的列表,列表推导式返回的是一个列表类型
Python在执行列表推导式时,会对可迭代对象 L 进行迭代,将每一次迭代的值赋给循环变量 x ,然后收集变量表达式 x ** 2
的计算结果,最终由这些结果构成了新的列表,也就是列表推导式所返回的值。
只要支持 for 循环进行迭代的对象,都可以对它使用列表推导式。
举例(找出列表中所有’a’的元素,并添加到新列表)
list = ['a','b','a','d','e','a','g'] result = [] for i in list:
if i == 'a':
result.append(i)
print(result)
结果
['a', 'a', 'a']
那么有了列表推导式,我们可以改写成
print([i for i in list if i == 'a'])
结果
['a', 'a', 'a']
如果我们列表中的元素还需要做其他运算,比如:
def add(parms):
res = ''.join(parms + 'pple')
return res
再结合上面的列表推导式
print([add(i) for i in list if i == 'a'])
结果
['apple', 'apple', 'apple']
列表推导式的一般语法可以表示为 [ expression for item in list ],如果你希望加上一些布尔型条件语句,那么上面的语法可以
修改为 [ expression for item in list if conditional ] 或者
[
expression for x in X [if condition] for y in Y [if condition] …
for n in N [if condition] ] 举例(为了方便好看,写成下面格式)
print(
[
(x, y, z) for x in range(6) if x % 3 == 0
for y in range(6) if y % 3 == 1
for z in range(6) if z % 2 ==1
])
结果
[(0, 1, 1), (0, 1, 3), (0, 1, 5), (0, 4, 1), (0, 4, 3), (0, 4, 5), (3, 1, 1), (3, 1, 3), (3, 1, 5), (3, 4, 1), (3, 4, 3), (3, 4, 5)]
Lambda 和和 Map
Lambda 是一种匿名函数,也非常好用的,它不需要定义函数名,可以做最直观的运算
还是以上面的例子为例
def add(parms):
res = ''.join(parms + 'pple')
weixin_38728347
- 粉丝: 4
- 资源: 912
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C语言基础-C语言编程基础之Leetcode编程题解之第30题串联所有单词的子串.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第29题两数相除.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第28题找出字符串中第一个匹配项的下标.zip
- 实验报告模板(1).docx
- C语言基础-C语言编程基础之Leetcode编程题解之第26题删除有序数组中的重复项.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第25题K个一组翻转链表.zip
- hnu计算机系统作业-计算机系统基础课程大作业.zip
- 树莓派app.apk
- C++的基于同态加密技术的匿名电子投票系统源码.zip
- SW建模格式图.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0