0%

【Python】yield关键字,以及zip(内置方法)

Python yield关键字,以及zip(内置方法)

提到yieid就不得不提到生成器,我看的视频里面有一段是将18个市区发帖量以地区,发帖数,绘制图表类型,运用Highcharts进行绘制图表(不用matplotlib绘制)。

area_index=["西城","燕郊","密云","石景山","海淀","朝阳"]
post_time=[3376,541,386,1958,11768,19224]
def data_gen(types):
    length=0
    if length <= len(area_index):
        for area,times in zip(area_index,post_time):
            data={
                'name':area,
                'data':[times],
                'type':types
            }
            yield data
            length+=1

for i in data_gen("colums"):
    print(i)

执行结果

1. yield

yield类似return,但是会记住代码执行的位置,下一次再次调用时,从上一次执行的位置开始运行。

2. zip

zip会将后面的两个列表,从其中各取出一个组成一个元组列表。

zip(area_index,post_time)

内部为

[("西城",3376),("燕郊",541),("密云",386)]

注:本文是我在看视频教程时提出的疑问。 参考:Python yield 使用浅析