python:列表的reserve函数切片和反转容易忽视的问题

错误1:

my_list=[234,546,12,345,13,4,43]
new_list=my_list.reverse()
print(new_list)

 原因:reverse函数没用返回值

原先列表被修改了,是直接操作变量本身

修改

my_list=[234,546,12,345,13,4,43]
my_list.reverse()
print(my_list)

错误2:

还有一个我容易出错的地方!当使用嵌套切片,再反转的时候

my_list=[[31,4],[234,12],[43,123],[21,31],[57,3],[7,21],[21,32]]
my_list[0:4].reverse()
print(my_list)

有结果可知,列表没变,原因在于reverse只改了mylist[0:4],而不是my—list,切片不更改原先值,可以这样改

my_list=[[31,4],[234,12],[43,123],[21,31],[57,3],[7,21],[21,32]]
a=my_list[0:4]
a.reverse()
print(a)

python:列表的reserve函数切片和反转容易忽视的问题_第1张图片

你可能感兴趣的:(python,开发语言)