簡體   English   中英

如何從列表中刪除等於某個值的項目?

[英]How to remove item equal to some value from list of lists?

如果a == '1'我需要刪除所有item[0]

a = [['1','2','3'], ['2','4','9']]
for item in a:
    if item[0] == '1':
        del item

您可以按以下方式使用列表理解

a = [i for i in a if i[0] != '1']

在迭代列表時不要更改列表的長度。 改為創建新列表。

b = [i for i in a if i[0] != '1']

使用filter

new_a = list(filter(lambda item: item[0] != '1', a))

無論您使用什么python版本,列表都是這樣兼容的( filter返回python3中的惰性序列)。

列表理解是解決此問題的最佳方法,但是如果您要使用for循環,則可以使用以下Python代碼:

a = [[1,2,3], [2,1,9], [1,6,9], [5,6,7]]
# Code
def removeOneList(a):

    for item in a:
       if item[0] == 1:
           del item[:]

    return a

print(removeOneList(a))

暫無
暫無

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

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