扩展列表返回无

Bob*_*ert 4 python list python-3.x

我想在列表中添加一个字符串:

list1 = ['hi','how','are','you','googl']
ok = 'item22'
list1 = list1.extend(ok)
Run Code Online (Sandbox Code Playgroud)

但它打印出来None.这是为什么?

Bha*_*Rao 13

该函数extend是就地函数,即它将对原始列表本身进行更改.来自文档

通过附加给定列表中的所有项来扩展列表; 相当于[len(a):] = L.

因此,您无需将其重新分配回列表变量.

你可以做

list1 = ['hi','how','are','you','googl']
ok = 'item22'
list1.extend([ok])   # Notice brackets here
Run Code Online (Sandbox Code Playgroud)

然后,当你print list打印它

['hi','how','are','you','googl','item22']
Run Code Online (Sandbox Code Playgroud)

更好的方法

使用append如下所述是更好的方法.

list1 = ['hi','how','are','you','googl']
ok = 'item22'
list1.append(ok)   # Notice No brackets here
Run Code Online (Sandbox Code Playgroud)


小智 5

还有另一种方法,使用模块numpy可以完成工作https://pypi.org/project/numpy/

具体在您的示例中它将如下所示:

import numpy as np 

list1 = ['hi','how','are','you','googl']
ok = ['item22']
list1 = list(np.append(list1, ok))
print(list1)
Run Code Online (Sandbox Code Playgroud)