具有更新值的函数返回

时间:2019-01-22 03:51:33

标签: python python-3.x

当我尝试按名称打印列表时,我没有尝试对函数内的列表元素进行排序而没有返回,但是没有对它进行排序。

我必须在不返回的情况下更新函数中的列表

def sort(n):
    n.append(10)
    sorted(n)
n = [5,1,2,3]
print(n)

预期:[1,2,3,5] 实际:[5,1,2,3]

1 个答案:

答案 0 :(得分:0)

对不起,我自己犯了一系列错误。这对我也是一个教训。

def isort(n):
    n.append(10)
    n.sort()  #I used n[:] = sorted(n), but it's superfluous.

n = [5,1,2,3]
isort(n)
print(n)

m = [7,9,3,13]
isort(m)
print(m)

输出:

[1, 2, 3, 5, 10]
[3, 7, 9, 10, 13]
  • sort是python中存在的功能,需要将其更改为其他名称。我更改为isort
  • 我们必须调用函数isort使其起作用。
  • 我们需要更新列表中的元素以使列表更新。 [:] Slice notation在这里。
  • 最好在函数参数和调用之间使用不同的名称。 (此处为nm)。

非常感谢DYZ,Primusa和Tomothy32:)