删除具有指定索引的嵌套列表中的重复项

Remove duplicates in nested list with specified index

我想删除包含最大数量的列表(在此列表中为 16)

代码示例

Lst = [["D",16],["B",10],["A",13],["B",16]]

需要输出

Lst =[["B",10],["A",13]]
Lst = [["D",16],["B",10],["A",13],["B",16]]

max_elem = -float("inf")

for element in Lst:
    if element[1] > max_elem:
        max_elem = element[1]

for i in reversed(range(len(Lst))):
    if Lst[i][1] == max_elem:
        Lst.pop(i)

print(Lst)

您可以使用max获取最大数量,然后使用列表理解过滤原始列表:

lst = [["D",16],["B",10],["A",13],["B",16]]

max_num = max(x[1] for x in lst)
output = [sublst for sublst in lst if sublst[1] < max_num]

print(output) # [['B', 10], ['A', 13]]