Python 列出列表中的元素
我从CSV文件生成了一个数据列表。它以列表中的列表的形式出现: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
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个代表,我想出于某种原因,哈哈哈。是的,肯定是最初的问题。