将dict键折叠成一个键:Python

时间:2012-12-24 03:05:58

标签: python

所以我在列表中有一堆字典,其键是数字,值是字符串对象。像[{0:'tom',1:'cat',2:'apache',3:'server',4:'open', 5:'now'},...]之类的东西,我喜欢得到像

这样的东西

[{0: 'tom cat apache', 1:'server',2:'open',3:'now'},...]将前3个键折叠为1个键并添加其值。密钥可以或可以不总是连续的或从零开始。

我可以使用for循环和if语句执行此操作,但我的实现看起来很混乱。我确信这是一种pythonic方式。谢谢!

1 个答案:

答案 0 :(得分:1)

由于密钥不一定是连续的,我能想到的最佳方式是:

items = sorted(d.items())

dict(enumerate([' '.join(b for a, b in items[:3])] + [b for a, b in items[3:]]))

Here's a demo.