【发布时间】:2021-12-25 05:30:03
【问题描述】:
我们如何根据字典键对字典进行排序,并将它们置于一致的区间内?
例如,我们在python中有如下字典
{0: 1, 10: 3, 12: 2, 19: 4, 35: 5}
所以在上面的例子中,我们有来自0 - 35 的键,我们希望将它们放在 10 的间隔中,这意味着如下:
interval 0-10 has values 1
interval 10-20 has values [3, 2, 4]
interval 20-30 has no values
interval 30-40 has values [5]
最终的输出应该是这样的:
{0: [1], 10: [3, 2, 4], 20: [0/null], 30: [5]
有什么pythonic的方法吗?
【问题讨论】:
-
@PedroMaia 我不确定如何将间隔作为键,但您的解决方案是正确的。如果它是一个
two-digit数字,我们可以将它除以10,得到第一个整数,然后乘以10。喜欢你的想法,谢谢 -
@PedroMaia 如果我们想在最终输出中包含缺失的间隔。让我们在这里说:
20: [0 or null]。我能想到的一种方法是,一旦我们得到输出,再次遍历字典键并找到缺失的值?我们能以更好的方式做到这一点吗?
标签: python sorting dictionary