我使用spark
中的以下行生成字符串列表l = text.map(lambda x: tokenize(x[0])).collect()
l的输出看起来像这样(长列表的子集):
[['@always_nidhi'], ['@always_nidhi', '@OnlyDancers', '@IcelandNatural'], ['@always_nidhi', '@OnlyDancers', '@IcelandNatural']]
这是字符串值列表的列表。我想要一组独特的名称,因此我的第一步是使用以下行合并它。 (稍后我将使用set来获取唯一值)
list(itertools.chain.from_iterable(l))
但是我收到了这个错误
'NoneType'对象不可迭代
有人可以帮忙。
答案 0 :(得分:1)
无法复制您的错误,以下适用于Python 2.7。
>>> print set(itertools.chain.from_iterable(l))
set(['@OnlyDancers', '@always_nidhi', '@IcelandNatural'])
但是您可以使用以下生成器。它在功能上等同于chain()
。
>>> print set(inner for sub_list in l for inner in sub_list)
set(['@OnlyDancers', '@always_nidhi', '@IcelandNatural'])