网站首页 > 基础教程 正文
#推导式创建序列:推导式是从一个或者多个迭代器快速创建序列的一种方法,它可以将循环和条件判断结合,从而避免冗长的代码
#1、列表推导式
'''
语法格式如下
[表达式 for item in 可迭代对象]
或者
{表达式 for item in 可迭代对象 if 条件判断 }
'''
a=[x for x in range(1,10)]
print(a)
b=[x*7 for x in range(1,10)]
print(b)
c=[x*6 for x in range(1,10) if x%3==0]
print(c)
d=[x for x in "xcdearf"]
print(d)
cells=[(row,col) for row in range(1,10) for col in range(1,10)] #使用2个循环
for cell in cells:
print(cell)
#2、字典推导式
'''
语法格式:
{key_expression:value_expression for 表达式 in 可迭代对象}
类似于列表推导式,字典推到也可以增加if条件判断,多个for循环
操作:统计文本中字符出现的次数
'''
my_text='i love you ,i love szx,i love zdd'
char_count={i:my_text.count(i) for i in my_text}
print(char_count)
#课下作业,使用普通的循环实现上面推导式实现的字符出现的次数统计
#3、集合推导式
'''
语法格式如下
[表达式 for item in 可迭代对象]
或者
{表达式 for item in 可迭代对象 if 条件判断 }
'''
a={x for x in range(1,100) if x%9==0}
print(a)
#4、生成器推导式(生成元组):元组没有推导式
b=(x for x in range(1,100) if x%8==0)
print(b) #输出会提示我们是“一个生成器对象”,一个生成器只能运行一次,第一次迭代可以得到数据。第二次迭代发现已经没有了
gnt=(x for x in range(1,100) if x%5==0)
for x in gnt:
print(x,end="")
for x in gnt: #第二次迭代发现已经没有了
print(x,end="")
猜你喜欢
- 2024-11-27 Python中的bytearray对象,灵活的字节序列处理
- 2024-11-27 学习编程第141天 python序列解包特性及其便捷赋值
- 2024-11-27 学习编程第159天 python编程 序列的增删改查
- 2024-11-27 Python中的时间序列分解
- 2024-11-27 Python入门第4课:字符串、序列
- 2024-11-27 python基础 数值和序列类型
- 2024-11-27 学习编程第158天 python编程 利用序列求最值和存在性
- 2024-11-27 python每天学习一点点(判断数元素是否在序列中的2种方法。)
- 2024-11-27 Python中6种内建序列之通用操作
- 2024-11-27 通过 Python 代码实现时间序列数据的统计学预测模型
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)