首页 > 其他分享 >迭代器

迭代器

时间:2023-12-12 18:33:35浏览次数:44  
标签:迭代 list iter next num print

可迭代对象

  • 可迭代对象有:集合,列表,字符串,字典,元组
  • 不可迭代:整数,浮点数,布尔

迭代器对象

  • 调用obj.__iter__()方法返回的结果就是一个迭代器对象
  • 迭代器对象是内置有iternext方法的对象,打开的文件本身就是一个迭代器对象
    • 执行迭代器对象.iter()方法得到的仍然是迭代器本身
    • 而执行迭代器对象.next()方法就会计算出迭代器中的下一个值
name = 'heart'
# 获得迭代器的方法一
name_iter = name.__iter__()
# 获得迭代器的方法二
name_iter = iter(name)
# 使用next方法一
print(name_iter.__next__())  # h
print(name_iter.__next__())  # e
print(name_iter.__next__())  # a
# 使用next方法二
print(next(name_iter))

(1)列表

num_list = [1, 2, 3]
num = iter(num_list)
print(next(num))  # 1
print(next(num))  # 2
print(next(num))  # 3

(2)元组

num_list = [1, 2, 3]
num = iter(num_list)
print(next(num))  # 1
print(next(num))  # 2
print(next(num))  # 3

(3)字典

num_list = [1, 2, 3]
num = iter(num_list)
print(next(num))  # 1
print(next(num))  # 2
print(next(num))  # 3

(4)集合

num_list = [1, 2, 3]
num = iter(num_list)
print(next(num))  # 1
print(next(num))  # 2
print(next(num))  # 3

for循环内部原理

num_list = [1, 2, 3, 4, 5, 6]
num_iter = iter(num_list)
while True:
    try:
        print(num_iter.__next__())
    except StopIteration:
        break

计时器

import time
start_time = time.time()
print(f'运行时间: {time.time()-start_time}s')

标签:迭代,list,iter,next,num,print
From: https://www.cnblogs.com/ssrheart/p/17897566.html

相关文章

  • 迭代器和生成器
    迭代器什么是迭代器迭代器指的是迭代取值的工具,迭代是一个重复的过程,每次重复都是基于上一次的结果而继续的,单纯的重复并不是迭代。为何要有迭代器迭代器是用来迭代取值的工具,而涉及到把多个值循环取出来的类型有:列表,字符串,元组,字典,集合,打开文件文件是可迭代对象,也是迭代器......
  • 实验18:迭代器模式
    本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解迭代器模式的动机,掌握该模式的结构;2、能够利用迭代器模式解决实际问题。 [实验任务一]:JAVA和C++常见数据结构迭代器的使用信1305班共44名同学,每名同学都有姓名,学号和年龄等属性,分别使用JAVA内置迭代器和C++中......
  • 迭代器模式
    本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解迭代器模式的动机,掌握该模式的结构;2、能够利用迭代器模式解决实际问题。1. 搜集并掌握JAVA和C++中常见的数据结构和迭代器的使用方法,例如,vector,list,map和set等;JavaPriorityQueuejavaimportjava.util.Pr......
  • python的异步迭代器含义
    python的异步迭代器什么意思?什么是迭代器:迭代器是一种遵循迭代器协议的对象,可以被用在像for循环这样的迭代环境中。迭代器协议包含两个方法:__iter__():返回迭代器自身。__next__():返回迭代器的下一个元素。如果没有更多元素,则抛出StopIteration异常。就是这两个方法要包......
  • 设计模式(十六)迭代器
    一、定义提供一种方法顺序访问一个聚合对象中的各个元素,且不用暴露该对象的内部表示。迭代器模式是一种对象行为型模式,又称为游标(Cursor)模式。二、描述在软件系统中,聚合对象拥有两个职责:一是存储数据,二是遍历数据。从依赖性来看,前者是聚合对象的基本职责,而后者既是可变化的,又是......
  • 迭代器和生成器、异常捕获
    一、迭代器(Iterator)1、可迭代对象(Iterable)和可索引对象存储了元素的一个容器对象,且容器中的元素可以通过“__iter__()”方法或“__getitem__()”方法访问。可迭代对象不能独立进行迭代,可通过“for…in”遍历来完成2、常见的可迭代对象字符串、列表、元组、字典、集合、文件......
  • python 可迭代对象 迭代器 生成器
    一个对象若要用for循环则需实现def__iter__(self,item)或def__iter__(self,item)方法可迭代对象实现了def__iter__(self,item)方法  迭代器  实现了def__iter__(self,item)和def__next__(self)方法  迭代器一定是可迭代对象可迭代对象不一定是迭代器from......
  • Unity DOTS系列之System中如何使用SystemAPI.Query迭代数据
    最近DOTS发布了正式的版本,我们来分享一下System中如何基于SystemAPI.Query来迭代World中的数据,方便大家上手学习掌握UnityDOTS开发。SystemAPI.Query的使用System有两种,一种是Unmanaged的ISystem,一种是managed的SystemBase,这两种System都可以通过SystemAPI.Query来迭代与......
  • “数据结构”模式之迭代器(Iterator)模式
    常常有一些组件在内部具有特定的数据结构,如果让客户程序依赖这些特定的数据结构,将极大地破坏组件的复用。这时候,将这些特定数据结构封装在内部,在外部提供统一的接口,来实现与特定数据结构无关的访问,是一种行之有效的解决方案。典型模式:CompositeIteratorChainofResposibilit......
  • stl中迭代器的删除
    Z1584.noip题海战Description某校举行了k场集训,集训有两种方式:比赛和训练对于每场比赛,他要保证所出的所有试题,对于所有学生来说,都是从来没有做过的而对于每场训练,他要保证所出的所有题都被每一个参赛学生做过。FormatInput第一行2个正整数n和m,表示学生数和试题总数第2~n+1行......