是否可以更新/修改循环中的列表元素/项目?在这里,我要修改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',因为您已将'a'值替换为'b'值。你对'elif'匹配的期望是不正确的。 – 2013-03-25 20:58:20
使用[list comprehension](http://www.youtube.com/watch?v=pShL9DCSIUw)并改为创建一个新列表。按指数循环播放是慢速的 - 速度慢,难以阅读和不灵活。 – 2013-03-25 21:00:35
不应该在'if'n_wk [i]
Zero
2013-03-25 21:03:05