首页 > 其他分享 >迭代器 / 生成器

迭代器 / 生成器

时间:2024-07-29 16:32:13浏览次数:12  
标签:nxt 迭代 生成器 list next mutigen print

# 迭代器
# 迭代是 Python 最强大的功能之一,是访问集合元素的一种方式。。
# 迭代器是一个可以记住遍历的位置的对象。
# 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
# 迭代器有两个基本的方法:iter() 和 next()。
import sys


list = [1, 2, 3, 4]
it = iter(list)
print(next(it))
# 输出 1
print(next(it))
# 输出 2
print(next(it))
# 输出 3
print(next(it))
# 输出 4
# print(next(it))
# 输出异常:StopIteration

# 迭代器对象与for语法进行遍历
list=[1,2,3,4]
it = iter(list) 
for x in it:
    print(x, end=' ')
# 输出 1 2 3 4

# 迭代器对象使用next()函数进行循环
list = [1,2,3,4]
it = iter(list)

# while True:
#     try:
#         print(next(it), end=" ")
#     except StopIteration:
#         sys.exit()
# 输出:1 2 3 4


# 生成器定义
# 案例: 通过
def multiply_generator(x):
    nxt = 1
    while True:
        yield f"{x} x {nxt} = {x*nxt}"
        nxt = nxt + 1

mutigen = multiply_generator(9)
for i in range(9):
    print(next(mutigen))


# 输入一个起始数据x, 每次增加步长y
def num_generator(x,y):
    while True:
        yield x
        x, y = x + y, y

mutigen = num_generator(10,5)
for i in range(9):
    print(next(mutigen))

# 斐波那契数列
def fibonacci(n):
    a, b, c = 0, 1, 0
    while True:
        if c > n:
            return
        yield a
        a, b = b, a+b

mutigen = fibonacci(100)
for i in range(100):
    print(next(mutigen), end=" ")

标签:nxt,迭代,生成器,list,next,mutigen,print
From: https://www.cnblogs.com/bengguo/p/18330370

相关文章

  • 自开发的哈希生成器(SHG)迎来 ULTRA 版本,内含新技术 SNF,详细介绍开发过程
     上链接:GitHub项目地址https://github.com/nitsc/Strong-Hash-Generator/tree/main/UltraCSDN上的介绍https://blog.csdn.net/zwa20110606/article/details/140708538**功能特点:****ULTRA版本**提供了以下功能:-使用了10层哈希算法: 1.SHA3-256   2.SHA3-5......
  • 迭代的 Codility 课程“使用以逗号结尾的打印语句”
    我无法理解为什么Python语言包含逗号我尝试在IDE中运行代码示例但失败以上就是本课的内容。请检查img在此处输入图像描述我想知道课程是错误的还是我缺乏Python知识我想知道课程是错误的还是我缺乏Python知识我想知道课程是错误的还是我缺乏Python知识你......
  • Flask 是否有使用 Sqlalchemy 的动态查询生成器?
    一个简单的查询如下所示User.query.filter(User.name=='admin')在我的代码中,我需要检查正在传递的参数,然后根据参数过滤数据库中的结果。例如,如果User表包含像username这样的列、位置和电子邮件,请求参数可以包含其中之一,也可以包含列的组合。我不想像下面这样检......
  • Iterator与Iterable(迭代器与可迭代)
    一前言环境:python3.10win10二Iterator(迭代器)Iterator是python的内置类型之一,看下其定义该类型的实例对象称之为iterator(迭代器对象)要得到一个iterator(迭代器对象),可用内置函数iter()将listtuple等转成迭代器对象也可以自定义一个迭代器类型的class,该class的......
  • IdentifierGenerator(标识符生成器)
    IdentifierGenerator(标识符生成器)是一个在多种编程和数据库管理场景中广泛使用的概念,它的主要目的是自动生成唯一标识符(ID)以用于数据库记录、对象实例、文件或其他需要唯一标识的实体。这些唯一标识符在数据处理、数据同步、数据检索以及确保数据完整性方面起着至关重要的......
  • 基因编辑技术之“速”力量:让单倍体育种技术迭代升级
    作物品种改良主要得益于育种过程带来的遗传获得。传统育种技术受制于表型观察准确性和遗传累赘效应等影响,其育种目标随机且费时费力,需要多个世代的自交才能获得性状稳定的品种。因此,生产上迫切需要高效、快速、精准改良作物性状的技术来加速作物的育种进程。单倍体诱导(haploidin......
  • list[str] 是可迭代的吗?
    Python3.10不这么认为:Python3.10.6|packagedbyconda-forge|(main,Aug222022,20:38:29)[Clang13.0.1]\ondarwinType"help","copyright","credits"or"license"formoreinformation.>>>from......
  • Lua 语法之迭代器
    迭代器主要是用来遍历表的两个迭代器区别#ipairspairs索引必须数字且连续索引必须数字且连续索引可以随意从1开始到nil从1开始到nil从1开始到无其他索引字符索引不识别字符索引不识别字符索引识别关键字ipairs--#得到长度其实并不准确一般不......
  • 图文长故事生成器工作流
    本文主要从2个角度介绍了图文长故事生成器工作流,分别是每个故事画一张图(比如关于心态的故事)和每个段落画一张图。因为每个故事由多个段落组成,后者即对每个段落画一张图。更具体的工作流不再介绍,详细参考文献[2]。一.每个故事画一张图本质就是在迭代节点中,使用"LLM节点"+“......
  • 文件目录结构生成器
    ★代码importos#查询的路径search_path=r'C:\Users\damon\Desktop\目录生成器'#返回目录结构{"name":"目录生成器","child":[{"name":"目录生成器","child":[]}]}defget_files(root_path):#将路径处理为标准......