簡體   English   中英

在 python 中基於列表理解的條件跳過元素

[英]Skip elements on a condition based in a list comprehension in python

我有一個列表列表:

List = [-2,9,4,-6,7,0,1,-4]

對於列表中小於零 (0) 的數字,我想跳過這些數字並形成另一個列表。

例子:-

List = [9,4,7,0,1]

這是我的一種疑惑,不確定是否可以實現。 如果有可能實現,任何人都可以在這里發帖。

你有很多選擇來實現這一目標。 通過列表理解,您可以執行以下操作:

my_list = [i for i in my_list if i>=0]

使用filter()

my_list = filter(lambda i: i>=0, my_list)

筆記:

在 Python 3 中, filter()返回一個filter對象(不是list ),要將其轉換為列表,您可以執行以下操作:

my_list = list(filter(lambda i: i>=0, my_list))

首先對變量名稱使用小寫,其次不要使用list因為它保留了名稱。

然后在列表理解中做一個 if

my_list = [i for i in init_list if i >= 0 ]

我在這里嘗試過這段代碼 my_list = [i for i in init_list if i >= 0 ] 但我修改了它以適合我的使用,我想說它可以像這樣使用:

for i in [x for x in range(10) if != 3] 

我在這里使用它來使程序跳過迭代。

暫無
暫無

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

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