在创建列表时和创建列表后应用它们时,extend 和 append 方法有什么区别
What's the difference in the extend and append methods when applying them while creating a list and after having created the list
我想知道为什么在创建列表时使用附加和扩展方法时,代码returns none,但是在创建列表后应用它们时,结果符合预期。
代码如下:
mylist = list(range(1,10))
mylist.extend(list(range(20,30)))
print(mylist)
mylist = list(range(1,10))
mylist.append(list(range(20,30)))
print(mylist)
这导致 [1, 2, 3, 4, 5, 6, 7, 8, 9, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29]
和[1, 2, 3, 4, 5, 6, 7, 8, 9, [20, 21, 22, 23, 24, 25, 26, 27, 28, 29]]
但是当使用
mylist = list(range(1,10)).extend(list(range(20,30)))
print(mylist)
mylist = list(range(1,10)).extend(list(range(20,30)))
print(mylist)
它们都导致 None
我正在使用 python 3.7.0
list.extend
和 list.append
return 值都没有;他们只修改他们的对象。
如果您想创建一个新列表并将其分配给不同的变量,您应该使用 +
运算符。
(但请注意,在您的示例代码中,您使用了 .extend 两次,而不是 .append)。
我想知道为什么在创建列表时使用附加和扩展方法时,代码returns none,但是在创建列表后应用它们时,结果符合预期。
代码如下:
mylist = list(range(1,10))
mylist.extend(list(range(20,30)))
print(mylist)
mylist = list(range(1,10))
mylist.append(list(range(20,30)))
print(mylist)
这导致 [1, 2, 3, 4, 5, 6, 7, 8, 9, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29]
和[1, 2, 3, 4, 5, 6, 7, 8, 9, [20, 21, 22, 23, 24, 25, 26, 27, 28, 29]]
但是当使用
mylist = list(range(1,10)).extend(list(range(20,30)))
print(mylist)
mylist = list(range(1,10)).extend(list(range(20,30)))
print(mylist)
它们都导致 None
我正在使用 python 3.7.0
list.extend
和 list.append
return 值都没有;他们只修改他们的对象。
如果您想创建一个新列表并将其分配给不同的变量,您应该使用 +
运算符。
(但请注意,在您的示例代码中,您使用了 .extend 两次,而不是 .append)。