python3 生成器表达式
2024-10-19 06:17:42
生成器表达式
[i for i in range(100)] #列表解析
与列表解析的不同是,列表解析用中括号,生成器表达式用小括号
g = (i for i in range(1000)) #生成器表达式 #不用yield的表达形式 print(g) #这是一个迭代对象
print(next(g)) #next(g) == g.__next__() #next(g)相当于g.__next__()
print(next(g)) #next(g) == g.__next__()
print(next(g)) #next(g) == g.__next__()
print(next(g)) #next(g) == g.__next__()
print(next(g)) #next(g) == g.__next__()
生成器表达式的应用:
# 列表解析
l = []
with open('goods', encoding='utf-8') as f:
l = [float(line.split()[1]) * int(line.split()[2]) for line in f]
print(sum(l)) # 生成器表达式
with open('goods', encoding='utf-8') as f:
g = (float(line.split()[1]) * int(line.split()[2]) for line in f)
print(sum(g)) # 换个方式
g = (float(line.split()[1]) * int(line.split()[2]) for line in open('goods', encoding='utf-8'))
print(sum(g))
最新文章
- 从零自学Hadoop(22):HBase协处理器
- ASP.NET MVC HtmlHelper之Html.ActionLink
- [ERROR] Plugin 'InnoDB' init function returned error
- 【poj1236】 Network of Schools
- Android应用开发学习笔记之菜单
- Android 模仿电视机关闭界面
- linux出现bash: ./java: cannot execute binary file 问题的解决办法
- delphi 带历史信息的菜单
- Android开发之ContentValues
- ECshop网店系统百万级商品量性能优化-加快首页访问速度
- iOS文件系统的管理-b
- poj2752Seek the Name, Seek the Fame
- 新书《Linux就是这个范儿》预售
- django中静态文件的配置路径
- Metasploit学习记录---Nessus简单使用
- 如何在C++中使用动态三维数组
- css -理解盒模型
- java线程安全之并发Queue
- VS2017上在线和离线安装Qt插件(在线安装)
- spark streaming检查点使用
热门文章
- 「暑期训练」「Brute Force」 Optimal Point on a Line (Educational Codeforces Round 16, B)
- 自动化测试学习之路--java String、StringBuilder
- Spark集群管理器介绍
- lubuntu 使用USB摄像头
- Name node is in safe mode.
- Jboss6内存修改
- .Net MVC中使用css 和js
- jetty-maven-plugin
- fetch_array()与fetch_assoc()的用法
- Storm之详解spout、blot