gpt4 book ai didi

python - 循环修改List元素

转载 作者:太空宇宙 更新时间:2023-11-03 19:02:41 24 4
gpt4 key购买 nike

是否可以在循环中更新/修改列表元素/项目。这里我要修改t的项

n_wk=[1,2,3,2,3,4,2,3]
t=['a','a','a','a','a','a','a','a']

for i in range(len(n_wk)):
if i==0:
continue
if n_wk[i]<n_wk[i-1]:
if t[i]=='a':
t[i]='b'
elif t[i]=='b':
t[i]='c'
if n_wk[i]>n_wk[i-1]:
t[i]=t[i-1]

我期待输出 t = ['a', 'a', 'a', 'b', 'b', 'b', 'c', 'c'] 。但是,输出是 t=['a', 'a', 'a', 'b', 'b', 'b', 'b', 'b'] 。看起来像list t没有在循环中更新。

我们可以不循环更新列表的项目/元素吗?

最佳答案

您的列表t确实正在修改:

# t before loop
['a', 'a', 'a', 'a', 'a', 'a', 'a', 'a']
# t after loop
['a', 'a', 'a', 'b', 'b', 'b', 'b', 'b']

但是,对代码进行轻微更改即可获得所需的结果:

for i in range(len(n_wk)):
if i == 0:
continue
if n_wk[i] < n_wk[i-1]:
if t[i-1] == 'a': #changed from t[i]
t[i] = 'b'
elif t[i-1] == 'b': #changed from t[i]
t[i] = 'c'
if n_wk[i] > n_wk[i-1]:
t[i] = t[i-1]

print(t)
# ['a', 'a', 'a', 'b', 'b', 'b', 'c', 'c']

关于python - 循环修改List元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15624610/

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