counter = Counter()
// fill data into counter
for a, b in counter.most_common():
if (b > 1):
counter[a] = np.log(b)
else:
counter[a] = -np.log((1 / (b+0.01)))
据我所知,根据我的审判,这是安全的。当我在枚举时更改集合时,没有坏事发生。在其他语言中,在for
的每个周期中,counter.most_common()
值都会被评估。
这在Python中也不会发生吗?
答案 0 :(得分:0)
不,它没有。一个更具说明性的例子:
def example():
print("Ping")
return [1,2,3,4]
for x in example():
print(x)
输出:
Ping
1
2
3
4