列出列表中的元素

时间:2013-08-12 04:02:51

标签: python list python-3.x

我从CSV文件生成了一个数据列表。它作为列表中的列表格式出现:

Wind = [['284'], ['305'], ['335'], ['331'], ['318'], ['303'], ['294'], ['321'], ['324'], ['343']]

我需要列为常规列表。所以这是我尝试解决这个问题:

i = 0
for ii in Wind:
    Wind[i] = Wind[i][i]
    i += 1
    return Wind

我的输出是:

return Wind
   ^
SyntaxError: 'return' outside function

3 个答案:

答案 0 :(得分:2)

你想要整理列表,这可以使用列表理解在python中完成(本质上是for循环的更短,更快的版本)。

Wind = [x for y in Wind for x in y]

使用嵌套for循环的等效代码为:

newWind = []
for y in Wind:
    for x in y:
        newWind.append(x)

答案 1 :(得分:1)

另一种选择,使用itertools:

import itertools
newWind = list(itertools.chain.from_iterable(Wind))

另一个使用numpy:

import numpy
newWind = numpy.array(Wind).transpose()[0].tolist()

和一个使用列表推导,假设内部列表中始终只有一个元素:

newWind = [x[0] for x in Wind]

和一个使用地图做出相同的假设:

newWind = map(lambda x:x[0], Wind)

接受你的选择!

答案 2 :(得分:0)

语法错误的结果是因为您在不在函数中时尝试执行return语句。如果您只想打印Wind的内容,请使用print(Wind)代替return Wind