2024-05-09 20:57:33 发布
网友
def swapPositions(list, pos1, pos2): list[pos1], list[pos2] = list[pos2], list[pos1] return list seq=['abd','dfs','sdfs','fds','fsd','fsd'] print(swapPositions(seq,2,3))
我们能在没有return语句的情况下做到这一点吗
return
python中的list对象是一个可变对象,这意味着它通过引用而不是通过值传递到函数中。因此,您已经在适当地更改了seq,并且没有必要修改return语句
list
seq
def swapPositions(list, pos1, pos2): list[pos1], list[pos2] = list[pos2], list[pos1] seq=['abd','dfs','sdfs','fds','fsd','fsd'] swapPositions(seq,2,3) print(seq) # returns ['abd', 'dfs', 'fds', 'sdfs', 'fsd', 'fsd']
Python函数通常遵循两种约定:
None
您的函数执行后者,并且应该省略return语句
>>> x = [1, 2, 3, 4] >>> swapPositions(x, 2, 3) >>> x [1, 2, 4, 3]
如果您选择前者,x应该不受影响
x
def swapPositions(L, pos1, pos2): L = L.copy() L[pos1], L[pos2] = L[pos2], L[pos1] return L >>> x = [1, 2, 3, 4] >>> swapPositions(list, 2, 3) [1, 2, 4, 3] >>> x [1, 2, 3, 4]
python中的
list
对象是一个可变对象,这意味着它通过引用而不是通过值传递到函数中。因此,您已经在适当地更改了seq
,并且没有必要修改return
语句Python函数通常遵循两种约定:
None
李>您的函数执行后者,并且应该省略
return
语句如果您选择前者,
x
应该不受影响相关问题 更多 >
编程相关推荐