我知道列表理解会做到这一点,但我想知道是否有更短(和更多Pythonic?)的方法.
我想创建一系列不同长度的列表.每个列表将包含相同的元素e,重复n次(其中n =列表的长度).如何创建列表,而不做
__PRE__
对于每个清单?
我完全迷失在有线情况下。现在我有一个清单li
li = example_data.map(lambda x: get_labeled_prediction(w,x)).collect()
print li, type(li)
Run Code Online (Sandbox Code Playgroud)
输出就像,
[(0.0, 59.0), (0.0, 51.0), (0.0, 81.0), (0.0, 8.0), (0.0, 86.0), (0.0, 86.0), (0.0, 60.0), (0.0, 54.0), (0.0, 54.0), (0.0, 84.0)] <type 'list'>
Run Code Online (Sandbox Code Playgroud)
当我尝试从此列表创建数据框时:
m = sqlContext.createDataFrame(l, ["prediction", "label"])
Run Code Online (Sandbox Code Playgroud)
它抛出了错误消息:
TypeError Traceback (most recent call last)
<ipython-input-90-4a49f7f67700> in <module>()
56 l = example_data.map(lambda x: get_labeled_prediction(w,x)).collect()
57 print l, type(l)
---> 58 m = sqlContext.createDataFrame(l, ["prediction", "label"])
59 '''
60 g = example_data.map(lambda x:gradient_summand(w, x)).sum()
/databricks/spark/python/pyspark/sql/context.py in createDataFrame(self, data, schema, samplingRatio) …Run Code Online (Sandbox Code Playgroud)