当我运行这段代码时,它会给“无”而不是“Python”附加到列表中。为什么会这样?

时间:2018-02-18 09:00:29

标签: python python-3.x

当我运行此代码时,它会给“无”而不是“Python”附加到List。为什么会这样?

input_tuple = ('Monty Python', 'British', 1969)  
input_list = list(input_tuple)  
print(input_list)  
input_list_1 = input_list.append('Python')  
print(input_list_1)

4 个答案:

答案 0 :(得分:0)

这是违规行:

input_list_1 = input_list.append('Python')

append()方法会更新列表。它不返回任何值(即返回None)。由于您要将append()的返回值分配给input_list_1,因此打印值应为“无”。

答案 1 :(得分:0)

array.append()更改直接传递的数组,而不是返回更改的数组。举个例子:

array = [1, 2, 3]
array.append(4)
print(array)

输出[1, 2, 3, 4]。因此,您的代码应为:

input_tuple = ('Monty Python', 'British', 1969)
input_list = list(input_tuple)
print(input_list)
input_list.append('Python')
print(input_list)

答案 2 :(得分:-1)

input_list_1会返回None,因为您要追加input_list。此时input_list_1存储追加操作的返回值 - 即None。要打印更新列表,您应打印input_list

答案 3 :(得分:-1)

input_list是列表对象,append是列表对象方法,它是返回更改的列表瞬间的直接更改。这就是为什么没有返回任何对象而input_list_1不打印任何内容。