哪位能解释一下,红色圈里for语句后面的意思吗?还有红色圈上面两个if语句的逻辑和意思,万分感谢。
首先
ans={k:0 for k in range(a,b,c)}
这是个字典推导式,它定义了一个字典,字典每一项的key从for k in range(a,b,c)里面来,value初始都是0
经过了中间的循环之后,它的value都被赋值成了x(x是遍历r产生的,所以每个x并不一样)
最后,for k,v in ans.items()
就是将ans这个字典的每一对key和value分别赋值给k和v,然后append进z里面
第7行,定义了ans是个map,即每个item是key-value格式保存的数据。18行,把每个item取出来,自动把键和值分配给k、v。
第10行计算了一个值,然后if条件进行判断,满足某个条件时,对ans的指定item的value进行修改。
ans 是 字典 数据类型
它的遍历范本就是: for k,v in ans.items():
k,v 遍历出字典所有的 键值对
k对应的是字典里的键 k in ans.keys()
v对应的是字典里的值 v in ans.values()
对字典进行遍历
k 对应字典里面的keys
v 对应字典的values
每次循环都把结果追加到z列表中
ans是一个字典,item方法会返回一个由元组构成的列表,每个元组内有两个元素,第一个为ans里的键,第二个为值。
for循环中的k和v对应每个元组中的两个值,也就是ans里的键和值。
最后把v+k/201000添加到列表z的末尾