首页 > 解决方案 > 就地修改列表

问题描述

我想修改函数中的列表,稍后将反映到外部世界,以便每当我们调用函数时它都会改变。然而,这份名单没有被修改。

def modify_in_place(a_list, start, end):
       a_list= a_list[start:end:1]
list_A=[1,2,3,4]
modify_in_place(list_A,1,3)
print(list_A)

list_A 应该返回 [2,3] 但它返回 [1,2,3,4]

标签: python

解决方案


You can assign to the full slice of the list to modify it in-place.

def modify_in_place(a_list, start, end):
       a_list[:] = a_list[start:end:1]

推荐阅读