Python 推导式。带if条件的推导式

推导式是从一个或者多个迭代器快速简洁地创建数据结构的一种方法。它可以将循环和条件判断结合,从而避免语法冗长的代码。

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
##########  列表推导式  ##########
# 30 以内可以被 3 整除的整数
multiples = [i for i in range(30) if i % 3 == 0]
print(multiples)
 
# 过滤掉长度小于或等于3的字符串列表,并将剩下的转换成大写字母
names = ['Bob','Tom','alice','Jerry','Wendy','Smith']
new_names = [name.upper() for name in names if len(name)>3]
print(new_names)
 
 
##########  字典推导式  ##########
 
listdemo = ['Google','Twitter', 'Alibaba', 'Python', 'VB', 'C']
newdict = {key:len(key) for key in listdemo}   # 将列表中各字符串值为键,各字符串的长度为值,组成键值对
print(newdict)
 
# 输出函数 xx+2x+5 [-5,5] 间的对应整数函数值
dic = {x: x**2 + 2*x + 5 for x in range(-5,6)}
print(dic)
 
 
##########  集合推导式  ##########
setnew = {i ** 2 for i in (1, 2, 3)}    # 计算数字 1,2,3 的平方数
print(setnew)
 
a = {x for x in 'abwq我njkkjdbbcfracadabra' if x not in 'abc'}    #  统计不是 abc 的字母
print(a)<br><br>

元组推导式

a = (x for x in range(1,10))
 a
<generator object <genexpr> at 0x7faf6ee20a50>  # 返回的是生成器对象
 tuple(a)       # 使用 tuple() 函数,可以直接将生成器对象转换成元组
(1, 2, 3, 4, 5, 6, 7, 8, 9)

  

 

posted @   sangern  阅读(185)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示