python适合所有人L8练习



你能帮我在一个与列表主题相关的练习中计算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

最新更新