簡體   English   中英

過濾 Python 中元組的嵌套列表

[英]Filtering nested lists of Tuples in Python

我在 python [[(1,2),(3,7)],[(5,22)],[(4,-1),(-3,34),(41,2)]]我想用“過濾器”過濾子列表所以條件是子列表中每個元組的所有第一個元素的總和是否大於5,如果不刪除子列表。

也許你知道怎么做? (沒有包或進口)謝謝

你可以使用列表理解

a = [[(1,2),(3,7)],[(5,22)],[(4,-1),(-3,34),(41,2)]]
b = [x for x in a if sum(y for y,_ in x) > 5]

根據 azro 的評論進行編輯。

x 是 a 中的每個子數組,總和取每個子數組的第一個元素,如果總數大於 5,則 x 包含在 b 中。

您可以使用帶有過濾條件的嵌套列表推導,如下所示:

sub_lists = [[(1,2),(3,7)],[(5,22)],[(4,-1),(-3,34),(41,2)]]

filtered_sub_lists = [
    sub_list for sub_list in sub_lists if sum(values[0] for values in sub_list) > 5
]

print(filtered_sub_lists)
>>> [[(4, -1), (-3, 34), (41, 2)]]

暫無
暫無

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

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