我有一个(name,[token1, token2, ...])
形式的RDD,其中name
是键,token
是值。例如:(Robert,['hello', 'movie', '', 'cinema'])
,我想使用map
删除值中的空字符串。
我的尝试是:
new_tuple = tuple.map(lambda x: (x[0], [s for s in x[1] if len(s)>0]))
获得(Robert,['hello', 'movie', 'cinema'])
但是我觉得有没有那么多余的方法了?
在那之后,我想删除上面的操作之后最终可能没有任何值(令牌)的项目,是否可以进行以下工作?
final_tuple = new_tuple.filter(lambda x: len(x[1])>0)
答案 0 :(得分:1)
尝试以下方法:
a = (Robert,['hello', 'movie', '', 'cinema'])
然后a = (a[0], list(filter(None, a[1])))