[英]List elements within a list
我從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
您想使列表變平,可以使用列表理解(本質上是一個較短,更快的for循環版本)在python中完成。
Wind = [x for y in Wind for x in y]
使用嵌套的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)
隨便挑!
出現語法錯誤是因為您不在函數中時試圖執行return語句。 如果只想打印Wind的內容,請使用print(Wind)
而不是return Wind
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.