IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python中的生成式 -> 正文阅读

[Python知识库]python中的生成式

列表生成式

案例

# 需求: 生成100个验证码 (4个字母)
import string
import random
codes = []
for count in range(100):
    code = "".join(random.sample(string.ascii_letters, 4))
    codes.append(code)
print(codes)
#列表生成式
codes = [ "".join(random.sample(string.ascii_letters, 4)) for i in range(100)]
print(codes)
# 需求:找出1~100之间可以被3整除的数
nums = []
for num in range(1,101):
    if num % 3 == 0:
        nums.append(num)
print(nums)

#列表生成式
nums = [ num for num in range(1,101) if num %3 == 0]
print(nums)

结果展示
在这里插入图片描述

集合生成器

result = {i**2 for i in range(10)}
print(result)

在这里插入图片描述

字典生成器

# 字典生成式
result = {i:i**2 for i in range(10)}
print(result, type(result))

在这里插入图片描述

生成器

定义
在Python中,一边循环一边计算的机制,称为生成器:generator。
面对大文件的时候,可以节省内存。

nums = [i ** 2 for i in range(100000)]

在面对这样的计算次数比较多的时候,电脑的资源占用比较严重,计算有一定的时间(仅仅只需要知道前几个的数值)
此时可以使用生成器

# 生成器实现的第一种方法:将生成式改写成生成器
nums = (i ** 2 for i in range(100000))
print(next(nums))
print(next(nums))
print(next(nums))

在这里插入图片描述

生成器实现的第2种方法:yield关键字

# 生成器实现的第2种方法:yield关键字
# return:函数遇见return就返回,return后面的代码并不会执行。
# yield:函数遇见yield则停止执行代码,当再次调用next方法时,会从上次停止的地方继续执行,遇见yield停止。

def login():
    print('step 1')
    yield 1
    print('step 2')
    yield 2
    print('step 3')
    yield 3
# 如果函数里面有yield关键字,函数的返回值就是一个生成器
g = login()
print(next(g))
print(next(g))

在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-19 07:56:01  更:2021-09-19 07:56:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 15:30:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码