首页 > 其他分享 >26:迭代器和生成器

26:迭代器和生成器

时间:2024-08-23 15:06:48浏览次数:8  
标签:__ 26 .__ 迭代 生成器 iter next print laomuji



x='hello'
print(dir(x))
iter_test=x.__iter__()

 

print(iter_test)
print(iter_test.__next__())
print(iter_test.__next__())
print(iter_test.__next__())
print(iter_test.__next__())
print(iter_test.__next__())
print(iter_test.__next__())

  

l=[1,2,3]
for i in l:  #i_l=l.__iter_()  i_l.__next__()
    print(i)


index=0
while index < len(l):
    print(l[index])
    index+=1

 



iter_l=l.__iter__() #遵循迭代器协议,生成可迭代对象
print(iter_l.__next__())
print(iter_l.__next__())

 

for i in l:
    print(i)

s={1,2,3}

for i in s:
    print(i)
iter_s=s.__iter__()
print(iter_s)
print(iter_s.__next__())
print(iter_s.__next__())
print(iter_s.__next__())
print(iter_s.__next__())

dic={'a':1,'b':2}
iter_d=dic.__iter__()
print(iter_d.__next__())

  

f=open('test.txt','r+')
# for i in f:
iter_f=f.__iter__()
print(iter_f)
print(iter_f.__next__(),end='')
print(iter_f.__next__(),end='')
l=[1,2,3,4,5]
diedai_l=l.__iter__()
while True:
    try:
        print(diedai_l.__next__())
    except StopIteration:
        # print('迭代完毕了,循环终止了')
        break

  

l=['die','erzi','sunzi','chongsunzi']

iter_l=l.__iter__()
print(iter_l)
print(iter_l.__next__())
print(iter_l.__next__())
print(iter_l.__next__())
print(iter_l.__next__())
print(iter_l.__next__())
print(next(iter_l)) #next()---->iter_l.__next__()

 

def test():
    yield 1
    yield 2
    yield 3
g=test()
print('来自函数',g)
print(g.__next__())
print(g.__next__())

三元表达式
name='alex'
name='linhaifeng'
res='SB' if name == 'alex' else '帅哥'
print(res)

 

列表解析

egg_list=[]
for i in range(10):
    egg_list.append('鸡蛋%s' %i)
print(egg_list)

l=['鸡蛋%s' %i for i in range(10)]
l1=['鸡蛋%s' %i for i in range(10) if i > 5 ]
# l1=['鸡蛋%s' %i for i in range(10) if i > 5 else i] #没有四元表达式
l2=['鸡蛋%s' %i for i in range(10) if i < 5] #没有四元表达式

print(l)
print(l1)
print(l2)

  

 
laomuji=('鸡蛋%s' %i for i in range(10)) #生成器表达式
print(laomuji)
print(laomuji.__next__())
print(laomuji.__next__())
print(next(laomuji))
print(next(laomuji))
print(next(laomuji))
print(next(laomuji))
print(next(laomuji))
print(next(laomuji))
print(next(laomuji))
print(next(laomuji))
print(next(laomuji))

  

 
l=[1,2,3,34]
map(func,l)

print(sum(l))
print(sum())
print(sum(i for i in range(10000000000000)))

  



标签:__,26,.__,迭代,生成器,iter,next,print,laomuji
From: https://www.cnblogs.com/liu-zhijun/p/18376014

相关文章

  • day18:python 迭代器
    目录一、迭代器1.什么是迭代器2.为何要有迭代器3.如何用迭代器3.1可迭代的对象:但凡内置有__iter__方法的都称之为可迭代的对象3.2调用可迭代对象下的__iter__方法会将其转换成迭代器对象4.可迭代对象与迭代器对象详解5.可迭代对象和迭代器对象有哪些?6.for循环的......
  • [赛记] 暑假集训CSP提高模拟26
    这场rank4,应该是暑假以来打的最好的一场了。。。其它时候就没进过前10。。。博弈30pts赛时$O(n^2)$暴力30pts;对于暴力,我们能发现一个性质就是只要有一类边权出现了奇数次,那么先手必胜,所以我们枚举每一个点对,开个数组统计一下即可;不要忘了离散化;对于正解,用到了一个东......
  • 利用源生成器,在编译阶段生成映射代码,减少运行时反射
    利用源生成器,在编译阶段生成映射代码,减少运行时反射这里有一个Product类和ProductDto类,实现对象自身的拷贝,或者Product映射ProductDtoGenMapperAttribute标注了类型需要生成映射方法,同时要求实现IAutoMap接口(由生成器自动实现)构造函数可选参数为目标类型,默认是自身MaoToAttr......
  • 【论文解读】Macroblock Level Rate Control for Low Delay H.264/AVC based Video Co
    级别:IEEE时间:2015作者:MinGao等机构:哈尔滨工业大学下载:MacroblockLevelRateControlforLowDelayH.264/AVCbasedVideoCommunication摘要算法目的:提出了一种针对低延迟H.264/AVC视频通信的宏块(MB)级别速率控制算法。算法基础:基于ρ域速率模型,该模型涉......
  • 在CentOS7.9上 编译安装openssl-3.3.1+编译安装Nginx1.26.2
    编译安装注意事项知识点一:openssl的重要性openssl在Linux系统中扮演着至关重要的角色,尤其是在网络安全方面。许多服务和应用程序都依赖于openssl提供的加密功能,包括但不限于web服务器(如Apache和Nginx)、数据库服务器(如MySQL和PostgreSQL)、邮件服务器、VPN等。以下......
  • CSP 模拟 26
    T1博弈博弈策略是显然的,只有当所有数的数量全是偶数是,才是后手必胜,考虑随机异或哈希,找一遍后直接统计。T2跳跃容易想到的是一个\(\mathcal{O}(nk)\)的dp,但是带了\(k\),比较难处理。可以这样考虑,最后一定是到了一个位置\(x\),以\(x\)为右端点,在它的区间最大左端点之间反......
  • 创新实践:流媒体服务器如何推动WebRTC支持H.265及JS硬软解码(MSE硬解、WASM软解)
    为了实现这一全面的解决方案,我们投入了近半年的时间进行调研与研发。我们的主要目标是:让流媒体服务器能够直接传输H.265编码的视频,而无需将其转码为H.264,从而使Chrome浏览器能够无缝解码并播放H.265视频。值得注意的是,目前市场上许多软硬件产品仍采用将H.265转码为H.264的方式来......
  • 【生日视频制作】公园火车飞艇热气球AE模板修改文字软件生成器教程特效素材【AE模板】
    公园火车飞艇热气球生日视频制作教程AE模板修改文字特效软件生成器素材怎么如何做的【生日视频制作】公园火车飞艇热气球AE模板修改文字软件生成器教程特效素材【AE模板】生日视频制作步骤:安装AE软件下载AE模板把AE模板导入AE软件修改图片或文字渲染出视频......
  • 创新实践:流媒体服务器如何推动WebRTC支持H.265及JS硬软解码(MSE硬解、WASM软解)
    为了实现这一全面的解决方案,我们投入了近半年的时间进行调研与研发。我们的主要目标是:让流媒体服务器能够直接传输H.265编码的视频,而无需将其转码为H.264,从而使Chrome浏览器能够无缝解码并播放H.265视频。值得注意的是,目前市场上许多软硬件产品仍采用将H.265转码为H.264的......
  • Python 实现批量数字二维码生成器
    Python实现批量数字二维码生成器创建时间:2024-08-09一、背景手动逐个生成特定格式和内容的二维码是一项繁琐且耗时的任务。虽然有写二维码工具也可以制作,但是往往有一些限制,为了能够高效、批量生成自定义二维码的需求,开发了这个基于Python的数字二维码生成器应用程序。在实......