【发布时间】:2021-09-20 23:10:51
【问题描述】:
在教程视频中,我看到 for 循环中使用的范围是“range(len(l))”,它成功地反转了列表。
但我想简单地加上“ l ”就可以解决问题,但没有人可以告诉我这是为什么?
def reversed_list(l):
rev = []
for i in l:
l_popped = l.pop()
rev.append(l_popped)
return rev
SAMPLE_LIST = [1,2,3,4]
print(reversed_list(SAMPLE_LIST))
OUTPUT:
[4, 3]
【问题讨论】:
-
因为您在循环列表时更改了列表(使用
l.pop())。因此,当您遍历列表时,您的列表会缩短。 -
不要更改您正在迭代的列表。对于反转,您可以使用
return list(reverse(l))函数或切片return l[::-1]