-1

我无法根据键值对字典进行排序,键值最初是字符串。我正在寻找一种使用SortedDict. 下面我将字符串转换为int,但排序似乎不合理。

#using Jenks' library:
from sortedcontainers.sorteddict import SortedDict

mydict = SortedDict(
        lambda k: int(k[0]),
        {
        '1': '#fe70ac',
        '10': '#ff7400',
        '11': '#b6a2d1',
        '12': '#79bc3b',
        '100': '#000000',
        '101': '#000000',
        '102': '#000000'
        })

退货

SortedDict_items(
[('11', '#b6a2d1'),
('10', '#ff7400'),
('12', '#79bc3b'),
('1', '#fe70ac'),
('102', '#000000'),
('100', '#000000'),
('101', '#000000')....
4

1 回答 1

2

如果您替换为它将起作用int(k[0])int(k)因为否则您将根据密钥的第一个数字对您的字典进行排序。

于 2016-06-20T15:11:45.920 回答