gpt4 book ai didi

python - 如何删除列表中列表中的元组:

转载 作者:行者123 更新时间:2023-12-01 04:44:04 24 4
gpt4 key购买 nike

假设我有一个列表

dist= [[(0.0, 1.0)], [(20.0, 0.8563799085248148)], [(40.0, 0.8371216462519347)], [(60.0, 0.9282032302755089)], [(80.0, 7.8429970322236064), (80.0, 1.2045483557883576)], [(100.0, 3.753460385470896), (100.0, 2.070863609380179)], [(120.0, 2.6794919243112276), (120.0, 12.92820323027545)], [(140.0, 2.298981118867903)], [(160.0, 2.250827351906659)], [(180.0, 2.4999999999999996), (180.0, 6.000000000000004)], [(200.0, 3.2523178818773006), (200.0, 3.0522653889161626)], [(220.0, 5.622391569468206), (220.0, 2.226834844885431)], [(240.0, 37.32050807568848), (240.0, 1.9366857335569074)], [(260.0, 1.9181147622136665)], [(280.0, 2.1576718089133085)], [(300.0, 2.85976265663383)], [(320.0, 2.9627929206431776), (320.0, 5.162096782237789)], [(340.0, 1.4051274947736847), (340.0, 69.47032761621178)]]

请注意,列表中的一些元素共享第一个元素(抱歉,术语不正确。)例如,dist[4][(80.0, 7.8429970322236064), ( 80.0, 1.2045483557883576)]; 80 在两个元组中。

现在我想删除tup[1]元素较大的元组。所以在这种情况下,我想删除 (80.0, 7.8429970322236064) 因为 7.84299... 大于 1.20454...

该过程完成后,dist[4]将仅为[(80.0, 1.2045483557883576)]

我尝试过这样的事情

for e in range(len(dist)):
if len(dist[e]) >= 2:
for f in range(len(dist[e])):
del max(dist[e][f])

但它返回这个:

>SyntaxError: can't delete function call

最佳答案

[[min(l)] for l in dist]

可以完成这项工作,因为 min 在元组上工作得很好: (80,1)<(80,2) .

关于python - 如何删除列表中列表中的元组:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29883209/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com