gpt4 book ai didi

python - 如何在我的列表中找到具有相同元素的子列表的索引?

转载 作者:行者123 更新时间:2023-11-28 21:15:31 25 4
gpt4 key购买 nike

我有一个不同子列表的列表:

lst = [
['Alex', 'Peeters', 22],
['Jim', 'West', 22],
['Alex', 'Wesley', 25],
['Jim', 'West', 24]
]

如何在我的列表中找到具有相同名字和姓氏的子列表的索引,以便删除年龄最大的子列表?

所以在这种情况下 lst[1][0] == lst[3][0] and lst[1][1] == lst[3][1]因为lst[1][2] < lst[3][2] lst.remove[3]

我已经有了这个,但后来我得到一个 IndexError因为我的len(lst)删除后的更改。

for i in range (len(lst)):
for j in range (len(lst)):
if lst[i][0] == lst [j][0] and lst[i][1] == lst [j][1] and i != j:
if lst[i][2] < lst[j][2]:
lst.remove(lst[j])
else:
lst.remove(lst[i])

最佳答案

您可以使用 itertools.groupby如果元素的顺序不重要,则在列表推导中

>>> [min(y) for x,y in itertools.groupby(sorted(lst), key = lambda x:x[:2])]
[['Alex', 'Peeters', 22], ['Alex', 'Wesley', 25], ['Jim', 'West', 22]]

关于python - 如何在我的列表中找到具有相同元素的子列表的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30014966/

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