我创建了一个复制列表并返回新列表的函数。由于某种原因,该函数返回的列表的长度是原始列表的两倍。
为什么返回的列表的长度是原始列表的两倍?
first = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def kopi(alist = [], blist = []):
for element in alist:
blist.append(element)
return blist
print(kopi(alist = first))
print("length:", len(kopi(alist = first)))
我也知道复制列表的简单方法是:
import copy as cp
first = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
second = cp.copy(first)
print(second)
print("length:", len(second))
那么为什么kopi函数会创建一个两倍大小的列表? 如果可能的话,我也想知道copy.copy()如何在python中工作。
答案 0 :(得分:0)
问题是我在kopi中包含了要作为参数返回的列表
def kopi(alist = [], blist = []):
这是修改后的kopi函数:
first = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def kopi(alist = []):
blist = []
for element in alist:
blist.append(element)
return blist
print(kopi(alist = first))
print("length:", len(kopi(alist = first)))