Python 列出列表中的元素

Python 列出列表中的元素,python,list,python-3.x,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

我从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

出现语法错误的原因是,您试图在不在函数中时执行return语句。如果您只想打印Wind的内容,请使用
print(Wind)
而不是
return Wind

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

您想展平列表,这可以通过使用列表理解(本质上是一个更短、更快的for循环版本)在python中完成

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

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

您希望扁平化列表,这可以在python中使用列表理解(本质上是一个更短、更快的for循环版本)来完成

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

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

另一个选项是使用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]
还有一个使用map做同样的假设:

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

你挑吧

另一个选项,使用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]
还有一个使用map做同样的假设:

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

你挑吧

他不想打印列表,他希望列表不是2D。对,我知道你回答得更好,但我只是指出了一个简单的语法错误。我还不能发表评论,否则我当然会发表评论。我想任何人都可以对一个问题发表评论。是的,需要50个代表,我想出于某种原因,哈哈哈。是的,肯定是最初的问题。他不想打印列表,他希望它不是2D。对,我知道你回答得更好,但我只是指出了一个简单的语法错误。我还不能发表评论,否则我当然会发表评论。我想任何人都可以对一个问题发表评论。是的,需要50个代表,我想出于某种原因,哈哈哈。是的,肯定是最初的问题。