列表中的项目也是列表,我想将它们设置为字符串-Python

时间:2019-12-06 02:36:59

标签: python list

我有一个函数,该函数接收带有字符串值的列表。它仅返回原始单词列表中位置的名称。问题出在此函数的某个地方,它使每个单独的项目成为一个列表本身。我认为使用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']] 

2 个答案:

答案 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']