你能帮我在一个与列表主题相关的练习中计算smth吗https://www.py4e.com/)?
这是我的代码:
def delete_head(t):
del t[0]
letters = ['a', 'b', 'c', 'd', 'f', 'g']
q = delete_head(letters)
print(q)
delete_head(letters)
print(letters)
我得到了这个输出:
输出
我不明白为什么输出不像[‘b’,‘c’,‘d’,‘f’,‘g’]
q = delete_head(letters)
这将删除"a">
delete_head(letters)
这会删除"b"(因为"a"已经不见了(
您调用delete_head()
两次,第一次在第4行,将函数的返回值分配给q,第二次在第6行。
注意q是None。这是因为您的函数不返回列表。它获取对原始列表的引用,并删除第一项。它不会返回列表,但更改不会丢失,因为您使用的是对原始列表的引用。因此delete_head()
的返回值为None