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 使用浅析