Python 3:为什么 .append() 在场景中而不是在第二个场景中工作?
Python 3: Why does .append() work in the scenario instead of the second?
我正在通过 Codecademy 学习 Python 3,并且正在努力理解这些代码位之间的区别:
def append_size(lst):
lst.append(len(lst))
return lst
对
def append_size(lst):
return lst.append(len(lst))
这两个函数都是用 print(append_size([23, 42, 108])
调用的
为什么第一个工作(打印 [23, 42, 108, 3])和第二个 returns 'None'?
发生这种情况是因为当您 append()
向列表添加内容时,不会返回任何内容。如果您打印它,它只是将项目附加到列表和 returns None
。例如:
l = [1,2,3]
print(l.append(4))
None
在这种情况下,4
被附加到名为 l
的列表中。 append 的简单任务是在末尾将项目添加到列表中。因此,当您执行 print(l.append(4))
时,它会显示 None
.
但如果你尝试:
l = [1,2,3]
l.append(4)
print(l)
[1, 2, 3, 4]
此处它在附加 4
后打印列表 l
的 值 。
好的 append
函数用于将项目添加到现有列表。
假设我有一个列表 a = [1,2,3]
并且我想将 4
添加到列表中。我将执行 a.append(4)
并获得 [1,2,3,4]
的所需输出。
在第一个 append_size
函数中,代码首先将一个项目附加到原始列表,然后 returns 列表,这就是为什么你得到列表输出 [23, 42, 108, 3]
的原因。但是在第二个函数中,代码 returns lst.append
而不是任何列表。因为 append
函数始终具有值 None,它返回 None 作为输出。
我正在通过 Codecademy 学习 Python 3,并且正在努力理解这些代码位之间的区别:
def append_size(lst):
lst.append(len(lst))
return lst
对
def append_size(lst):
return lst.append(len(lst))
这两个函数都是用 print(append_size([23, 42, 108])
为什么第一个工作(打印 [23, 42, 108, 3])和第二个 returns 'None'?
发生这种情况是因为当您 append()
向列表添加内容时,不会返回任何内容。如果您打印它,它只是将项目附加到列表和 returns None
。例如:
l = [1,2,3]
print(l.append(4))
None
在这种情况下,4
被附加到名为 l
的列表中。 append 的简单任务是在末尾将项目添加到列表中。因此,当您执行 print(l.append(4))
时,它会显示 None
.
但如果你尝试:
l = [1,2,3]
l.append(4)
print(l)
[1, 2, 3, 4]
此处它在附加 4
后打印列表 l
的 值 。
好的 append
函数用于将项目添加到现有列表。
假设我有一个列表 a = [1,2,3]
并且我想将 4
添加到列表中。我将执行 a.append(4)
并获得 [1,2,3,4]
的所需输出。
在第一个 append_size
函数中,代码首先将一个项目附加到原始列表,然后 returns 列表,这就是为什么你得到列表输出 [23, 42, 108, 3]
的原因。但是在第二个函数中,代码 returns lst.append
而不是任何列表。因为 append
函数始终具有值 None,它返回 None 作为输出。