gpt4 book ai didi

python - 遍历 python 中的压缩列表

转载 作者:太空宇宙 更新时间:2023-11-04 07:22:27 24 4
gpt4 key购买 nike

我有以下内容:

class Trade:
def __init__(self):
entry = [0, 1, 2, 3]
exit = [1, 2, 3, 4]
met = [0, 0, 0, 0]
self.stats = zip(entry, exit, met)



t = Trade()

for entry, exit, met in t.stats:
met = 1

for entry, exit, met in t.stats:
print(entry, exit, met)

我期望 met 的所有值都是 1。但事实并非如此。这是什么原因,我怎样才能使对 met 的修改反射(reflect)在 Trade class t 的实例中。 for 语句是否生成 t.stats 的副本而不是遍历其原始副本?

最佳答案

当您遍历列表的值时,这些值将分配给局部变量。更改这些局部变量不会更改存储在列表中的原始值。

使用 enumerate() 调用添加索引,然后使用该索引更改原始列表:

for i, (entry, exit, met) in enumerate(t.stats):
t.stats[i] = (entry, exit, 1)

关于python - 遍历 python 中的压缩列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14484256/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com