簡體   English   中英

使用itertools.chain.from_iterable時,“ NoneType”對象不可迭代

[英]'NoneType' object is not iterable while using itertools.chain.from_iterable

我在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”對象不可迭代

有人可以幫忙嗎?

無法復制您的錯誤,以下在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'])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM