我有一个像
listOfLists = [['key2', 1], ['key1', 2], ['key2', 2], ['key1', 1]]
内部列表的第一项是键。内部列表的第二项是值。
我想得到一个输出[['key1', 1], ['key2', 1]]
,它的值是具有相同键的列表中最小的列表,并且按键输出组(我的英语很差,所以只使用 Sql 语法的概念)
我写了一些这样的代码:
listOfLists = [['key2', 1], ['key1', 2], ['key2', 2], ['key1', 1]]
listOfLists.sort() #this will sort by key, and then ascending by value
output = []
for index, l in enumerate(listOfLists):
if index == 0:
output.append(l)
if l[0] == listOfLists[index - 1][0]:
#has the same key, and the value is larger, discard
continue
else:
output.append(l)
这似乎不够聪明有没有更简单的方法来完成这项工作?