Изменение коллекции. Счетчик при перечислении?
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?
1 ответ
Нет, это не так. Более наглядный пример:
def example():
print("Ping")
return [1,2,3,4]
for x in example():
print(x)
Выход:
Ping
1
2
3
4