我有一个函数,该函数接收带有字符串值的列表。它仅返回原始单词列表中位置的名称。问题出在此函数的某个地方,它使每个单独的项目成为一个列表本身。我认为使用GeoText时会发生这种情况,但我无法解决。
功能:
def extractLocs(self) :
data = self
locations = []
locs = []
for item in data :
locations.append(GeoText(item))
for i in locations :
locs.append(i.countries)
locs.append(i.cities)
return locs
输出样本:
[['March'], ['Iran'], ['Palestine'], ['March'], ['Seattle'], ['Washington']]
答案 0 :(得分:0)
return([i[0] for i in locs])
或使用numpy
:
return(numpy.array(locs)[:,0])
答案 1 :(得分:0)
您可以将列表列表转换为单个列表,如下所示。因此,如果您希望在以下代码中将vals
替换为locs
,那应该可以解决该问题。
注意 :无论您在每个子列表中包含多少个元素,或者是否有特定项目,都可以使用以下方法只是一个项目而不是一个列表。
vals = [['March'], ['Iran'], ['Palestine'], ['March'], ['Seattle'], ['Washington']]
values = list()
for val in vals: values.extend(val) if isinstance(val, list) else values.append(val)
values
输出:
['March', 'Iran', 'Palestine', 'March', 'Seattle', 'Washington']