列表类型转换python

时间:2014-07-25 08:52:12

标签: python list types casting dataset

我有一个pdb调试器告诉我的数据集看起来像这样;

set1 : [(4.4, ), (4.8, ), (4.2, ), (4.0, ), (4.2, ), (4.8, ), (2.0, ), (2.4, ), (3.0, )]

我需要它采用以下格式;

set2 : [4.4, 4.8, 4.2, 4.0, 4.2, 4.8, 2.0, 2.4, 3.0]

设置1和2的类型或类型的变体,以及如何将1或1设置为第2组。

我是python的新手并且需要匆忙这样做,所以我没有时间学习我应该的细节 - 任何帮助将不胜感激。

谢谢!

3 个答案:

答案 0 :(得分:1)

尝试:

set1 = [(4.4, ), (4.8, ), (4.2, ), (4.0, ), (4.2, ), (4.8, ), (2.0, ), (2.4, ), (3.0, )]
set2 = map(lambda x: x[0], set1)

set1是单元素元组的列表,map返回将作为第一个参数传递的函数应用于作为第二个参数传递的集合的结果。 在这个答案中,该函数是返回元组的第一个元素的函数。

更加pythonic的方法是使用列表理解:

set2 = [x[0] for x in set1]

答案 1 :(得分:0)

尝试使用itertools.chain

from itertools import chain

set1 =[(4.4, ), (4.8, ), (4.2, ), (4.0, ), (4.2, ), (4.8, ), (2.0, ), (2.4, ), (3.0, )]

print list(chain.from_iterable(set1))
#output [4.4, 4.8, 4.2, 4.0, 4.2, 4.8, 2.0, 2.4, 3.0]

答案 2 :(得分:0)

数据看起来非常熟悉,值得用zip

进行治疗
print list(zip(*set1)[0])