SortedDict是一个从dictionary继承的类,它始终按键对元素排序。我们还可以指定它按键的某个函数排序,如下所示。你知道吗
def func(x):
return -x
sd = SortedDict(func)
不过,我想让它按字典的值排序。 例如:
d = {0:[34, 67, 3],1:[12, 4, 9],2:[25, 3, 1]}
我希望它按每个数组的第一个元素排序,这样我就有了一个排序的dict,如下所示:
sd = {1:[12, 4, 9],2:[25, 3, 1],0:[34, 67, 3]}
我有办法做到吗?如果我做了以下事情:
def func(x):
return d[x][0]
这不是一个永久的解决方案,因为如果我更新我的排序字典:
sd.update({4:[6,5,9]})
我从原来的字典里得到一个关键错误。你知道吗
我需要一种方法让函数访问sd本身中键的值。这可能吗?你知道吗
我相信你不能订字典。如果您想保持键的顺序,可以使用键位于第一个或最后一个位置的数组。可以使用sorted函数对字典进行排序,但它不会按顺序返回dictionary对象
它回来了
相关问题 更多 >
编程相关推荐