在·# 1.生成式
1)列表生成式
生成100个随机验证码:
通过列表生成式简化:
import random
import string
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)
2)集合生成式
和列表生成式类似
可以对代码进行优化
Set = { i**2 for i in range(100)}
print(Set)
结果如下:
3)字典生成式
Dict = {i:i**2 for i in range(10)}
print(Dict)
执行结果如下:
2. 生成器
1)第一种实现方法
nums = (i**2 for i in range(1000))
for num in nums:
print(num)
2)第二种实现的方法
nums = (i**2 for i in range(1000))
def login():
print('step 1')
yield 1
print('step 2')
yield 2
print('step 3')
yield 3
g = login()
print(next(g))
print(next(g))
print(next(g))
执行结果如下:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)