是否可以更新/修改循環中的列表元素/項目?在這裏,我要修改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