为什么在同一语句中进行打印和扩展不起作用?

时间:2019-10-04 14:05:40

标签: python-3.x

我使用Python 3制作了2个列表(一个字符串,一个整数),试图在同一条语句中打印和扩展第一个列表,并扩展另一个列表,但最终没有输出。为什么?

# two lists, each with different data types
list_one = ["cat", "dog", "fish", "eye", "hook"]
list_two = [1, 2, 3, 4, 5]

# method that works and gives the expected output
list_one.extend(list_two)
print(list_one)

# method that doesn't work, gives an output of 'None'
print(list_one.extend(list_two))

为什么第二种方法给出的输出为“ None”而不是将两个列表连接在一起?

而且,由于我是编程的新手,将这么多的函数放在一个语句中是否很乱?

1 个答案:

答案 0 :(得分:0)

print(list_one.extend(list_two))

这将打印.extend()返回值extend没有返回值/返回None。明确地完成了此操作,因此您知道extend修改了list_one ,并且不返回新列表。因此,您需要执行以下两个步骤:修改列表,然后打印列表。

您可以这样做:

print(list_one + list_two)

这会立即打印“扩展”列表,但不会修改任何一个列表,也不会在任何地方存储扩展列表。要再次存储扩展列表,您需要执行两个步骤:

list_three = list_one + list_two
print(list_three)

习惯于一次做一件事,而不是将所有事情都挤在一行中。可读性比行数更重要。 Python遵循该原则,并在某种程度上以这种方式实施了该原则。