当我通过函数从函数调用它时,我尝试用字符串反转列表,并且它没有工作
self.tableView.contentInset = UIEdgeInsetsMake(0, 30, 0, 0);
但是当我只使用一个功能时,它的效果非常好。
>>>
change_list = lambda lst_chn: lst_chn[::-1]
def check(lst_chk):
change_list(lst_chk)
return lst_chk
print(check([1,2,3,4,5,6,7,8]))
print(check(['1','2','3','4','5','6','7','8']))
<<<
[1, 2, 3, 4, 5, 6, 7, 8]
['1', '2', '3', '4', '5', '6', '7', '8']
为什么?
答案 0 :(得分:0)
在第一种情况下,您将转储结果并返回原始未修改的序列:
def check(lst_chk):
change_list(lst_chk) # reversed sequence is discarded
return lst_chk
在第二种情况下,您返回相反的序列并print
它。
[::-1]
没有在适当的位置操作,它会返回结果,lst_chk
在调用change_list
后完全相同。
您可以返回相反的顺序:
def check(lst_chk):
return change_list(lst_chk)
与第二种情况类似的效果,或者,如果您始终使用list
s,请使用就地操作的reverse
。