簡體   English   中英

在python中獲取列表中的某些元素

[英]fetching certain elements in a list in python

我是 Python 的新手。 想象一下我們有一個這樣的列表: [(1,0.2), (2,4.8), (5,5.6)] 我想獲取所有左側元素,以便我有一個這樣的列表: [1,2, 5] 我想知道我怎么能做到這一點。 謝謝

您可以使用列表理解語句,例如:

example = [(1,0.2), (2,4.8), (5,5.6)]
[x[0] for x in example]

它基本上遍歷所有元素,並獲取每個元組中的第一個元素,並從中創建一個新數組。

m =  [(1,0.2), (2,4.8), (5,5.6)] 

out_list = []
for element in m:
    out_list.append(element[0])
print out_list

您必須瀏覽m所有elements ,然后使用element[0]取第一個數字並將其附加到名為out_list的新列表中

代碼會輸出

[1,2,5]

您可以使用列表理解以更優雅的方式執行此操作,如下所示:

out_list = [element[0] for element in m ] 
print out_list

大多數人建議使用列表理解來解決您的問題,這很棒。 但是python可以通過不同的方法做同樣的事情。 最近我學會了如何“解壓縮”一個列表,該技術正好適合您的問題。

zipped = [(1,0.2), (2,4.8), (5,5.6)]
list(zip(*zipped)[0])

這個線程中,人們解釋了它是如何工作的。 希望你能從中有所收獲。 歡迎來到蟒蛇世界!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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