机器人 救救瓜
Toggle navigation
Home
SCM-tool
Linux
Jenkins
SVN
other
About Me
Archives
Tags
python 笔记之 Python 推导
2021-02-24 10:03:18
923
0
0
gua_l
推导并不是语句,而是表达式。它们看起来很像循环,通过列表推导,可从既有列表创建出新列表,这是通过对列表元素调用函数、剔除不想要的函数等实现的。推导功能强大,但在很多情况下,使用普通循环和条件语句也可完成任务,且代码的可读性可能更高。使用类似于列表推导的表达式可创建出字典。 ## 列表推导: 括号 [] ### 单个for ``` >>> [x * x for x in range(10)] [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] ``` ### 多个for ``` >>> [(x, y) for x in range(3) for y in range(3)] [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)] ``` ### for + if ``` >>> girls = ['alice', 'bernice', 'clarice'] >>> boys = ['chris', 'arnold', 'bob'] >>> [b+'+'+g for b in boys for g in girls if b[0] == g[0]] ['chris+clarice', 'arnold+alice', 'bob+bernice'] ``` ## 字典推导: 花括号 { } ``` >>> squares = {i:"{} squared is {}".format(i, i**2) for i in range(10)} >>> squares[8] '8 squared is 64' ``` 在列表推导中,for前面只有一个表达式,而在字典推导中,for前面有两个用冒号分隔的表 达式。这两个表达式分别为键及其对应的值。 ## 生成器推导: 圆括号 ( ) 生成器推导(也叫生成器表达式)。其工作原理与列表推导相同,但不是创建一个列表(即不立即执行循环),而是返回一个生成器,让你能够逐步执行计算。 ``` sum(i ** 2 for i in range(10)) ```
Pre:
python 笔记之 python 中一些常用方法append setdefault deepcopy copy
Next:
Shell 和 python 取范围内随机整数并去重
0
likes
923
Weibo
Wechat
Tencent Weibo
QQ Zone
RenRen
Submit
Sign in
to leave a comment.
No Leanote account?
Sign up now.
0
comments
More...
Table of content
No Leanote account? Sign up now.