gpt4 book ai didi

python - 比较列表列表的元素并删除

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

l=[['a', 'random_str', 4], ['b', 'random_str2', 5], ['b', 'random_str3', 7]]

所以我有一个像这样的列表,我想遍历这个列表以检查每个子列表的第零个索引是否彼此相等,因此检查每个子列表的任何第零个索引是否等于另一个,然后如果两个of 或 more 类似,检查子列表中的第二个索引,仅保留具有最低 int 值的子列表,并删除所有其他子列表。

所以输出应该是这样的

[['a', 'random_str', 4], ['b', 'random_str2', 5]]

因此它会删除第二个索引中具有较高 int 的子列表

我在想这样的事情

for i in l:
for k in i:
if k[0]=i[0][0]:
# then I dont know

最佳答案

它可以通过 pandassort_valuesgroupby 来实现:

import pandas as pd
l=[['a', 'random_str', 4], ['b', 'random_str2', 5], ['b', 'random_str3', 7]]

#create dataframe from list of list
df = pd.DataFrame(l)

#sort column based on third column / index = 2
df = df.sort_values(by=2)

#groupby first column and only take first entry which is lowest int after sort.
df = df.groupby(0).head(1)

#put back to list of list
df = df.values.tolist()

print(df)

打印出来

[['a', 'random_str', 4], ['b', 'random_str2', 5]]

关于python - 比较列表列表的元素并删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59982795/

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