加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python:三元表达式、列表推导式和生成器表达式

发布时间:2020-12-20 09:50:36 所属栏目:Python 来源:网络整理
导读:Blog:博客园 个人 目录 三元表达式 语法格式 例子 列表推导式 语法格式 例1 例2 生成器表达式 语法格式 例子 三元表达式 语法格式 如下: 为真时的结果 if 判断条件 else 为假时的结果 例子 name = input('姓名: ')res = '请进' if name == '张三' else '再

Blog:博客园 个人

目录
  • 三元表达式
    • 语法格式
    • 例子
  • 列表推导式
    • 语法格式
    • 例1
    • 例2
  • 生成器表达式
    • 语法格式
    • 例子

三元表达式

语法格式

如下:

为真时的结果 if 判断条件 else 为假时的结果

例子

name = input('姓名>>: ')
res = '请进' if name == '张三' else '再见'
print(res)

结果如下

姓名>>: 张三
请进
姓名>>: 李四
再见

列表推导式

列表推导式用于使用其他列表创建一个新列表。

语法格式

如下:

# 格式1
[表达式 for 变量 in 列表]  

# 格式2,对列表进行判断帅选
[表达式 for 变量 in 列表 if 条件]

例1

# 求1-9的平方组成的列表
l = [x**2 for x in range(1,10)]
print(l)

结果如下:

[1,4,9,16,25,36,49,64,81]

例2

# 求1-9中偶数的平方组成的列表
l = [x**2 for x in range(1,10) if x % 2 == 0]
print(l)

结果如下:

[4,64]

生成器表达式

把列表推导式的[]换成()就是生成器表达式,返回对象不是一个列表,而是一个生成器。

优点:省内存,一次只产生一个值在内存中。

语法格式

如下:

# 格式1
(表达式 for 变量 in 列表) 

# 格式2,对列表进行判断筛选
(表达式 for 变量 in 列表 if 条件)

例子

>>> l = (x**2 for x in range(1,10) if x % 2 == 0)
>>> next(l)
4
>>> next(l)
16
>>> next(l)
36
>>> next(l)
64
>>> next(l)
Traceback (most recent call last):
  File "<stdin>",line 1,in <module>
StopIteration

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读