簡體   English   中英

列出列表中的元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM