【发布时间】:2019-11-11 14:59:56
【问题描述】:
我是 python 的新手,只是想了解为什么输出是这样的。
1)
strr=['asdfasdf','asdf','sdf','sdf']
stak=map(lambda l:l.split(','),strr)
print(stak)
当我执行第一组时,输出的格式如下,这是可以理解的 因为,拆分返回一个列表,收集也返回一个列表,因此里面的列表 列表
[['asdfasdf'], ['asdf'], ['sdf'], ['sdf']]
2)
str='asdfasdf,asdf,sdf,sdf'
sc.parallelize(str).map(lambda l:l.split(',')).collect()
print(str)
现在检查第二种情况,下面的动作也应该和上面一样,应该有 给出类似的输出。但它给出的输出如下。什么我不明白,为什么有 字符被分成单独的列表。谁能解释一下为什么不同 输出 1 和 2?
[['a'],
['s'],
['d'],
['f'],
['a'],
['s'],
['d'],
['f'],
['', ''],
['a'],
['s'],
['d'],
['f'],
['', ''],
['s'],
['d'],
['f'],
['', ''],
['s'],
['d'],
['f']]
【问题讨论】:
-
"sc.parallelize" 似乎是外部库的一部分。您应该在问题中添加适当的标签。
标签: python python-3.x list dictionary split