簡體   English   中英

從嵌套列表 [[name1,score],[name2,score],...] 中,如何刪除分數最低的名稱?

[英]From nested list [[name1,score],[name2,score],...], how do I remove the names with the lowest score?

我有一個混合嵌套列表[[name1,score],[name2,score],...] 如何刪除分數最低的名字? 我選擇了一個分數最低的元素並循環遍歷列表並比較分數並在分數與最小值匹配時刪除。

lmin=min(list, key = lambda x: x[1])
for l in list:
    if( ls[1] == lmin1[1]):
        ls1.remove(l)

但它不會刪除所有內容,只會刪除第一個實例。 我在哪里犯了錯誤? 最好的事物,

這是一種更好的過濾方式:

lmin=min(list_, key = lambda x: x[1])
li = [ item for item in list_ if item[1] != lmin]

請注意,您不應將單詞list用作變量,因為它是一個已保存的關鍵字...

你可以這樣做:

Mylist = [["name1",10],["name2",4],["name3",40]]
print(Mylist)
to_remove=min(Mylist, key = lambda x: x[1])
Mylist.remove(to_remove)
print(Mylist)

結果:

[['name1', 10], ['name2', 4], ['name3', 40]]
[['name1', 10], ['name3', 40]]

暫無
暫無

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

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