python yield

参考 https://cloud.tencent.com/developer/article/2113306 

同一函数批量处理数据

# ******************** example 1********************

print("*"*20+" example 1"+"*"*20)

def my_generator(my_list):

for itemin my_list:

yield item+1

# 使用生成器

gen = my_generator([1,2,3,4,5])

print(next(gen))

print("*"*20)

for valuein gen:

print(value)

# ******************** example 2********************

print("*"*20+" example 2"+"*"*20)

def foo():

print("starting...")

while True:

print("starting loop ...")

result =yield 4

        print("result:",result)

test = foo()

print(next(test))

print("*"*20)

print(next(test))

# ******************** example 3********************

print("*"*20+" example 3"+"*"*20)

# 原始二维数组

lst = [['Alice',85], ['Bob',90], ['Charlie',75]]

def cretedic(lst):

for itemin  lst:

yield{"name":item[0],

"age":item[1]}

print("*"*30)

for iin  cretedic(lst):

print(i)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容