假设我有一个函数返回输入的修改版本,比如排序算法:
def insertion_sort(listToSort):
for itemToSort in range(1, len(listToSort)):
for i in range(itemToSort, 0, -1):
if listToSort[i] < listToSort[i-1]:
listToSort[i], listToSort[i-1] = listToSort[i-1], listToSort[i]
else:
break
通常我希望我需要返回新的修改版本。但在 Python 中,实际参数似乎不是输入的副本,而是输入的“链接”。这与我使用过的其他语言(C#、C++)不同,做出这个选择是有原因的还是任意的?