+-
如何快速将字典拆分成多个字典
我找到了一个解决方案,但它确实很慢:

def chunks(self,data, SIZE=10000):
    for i in xrange(0, len(data), SIZE):
        yield dict(data.items()[i:i+SIZE])

没有使用外部模块(numpy等)你有什么想法吗?

最佳答案
由于字典是如此之大,最好将所涉及的所有项目保持为迭代器和生成器,就像这样

from itertools import islice

def chunks(data, SIZE=10000):
    it = iter(data)
    for i in xrange(0, len(data), SIZE):
        yield {k:data[k] for k in islice(it, SIZE)}

样品运行:

for item in chunks({i:i for i in xrange(10)}, 3):
    print item

产量

{0: 0, 1: 1, 2: 2}
{3: 3, 4: 4, 5: 5}
{8: 8, 6: 6, 7: 7}
{9: 9}
点击查看更多相关文章

转载注明原文:如何快速将字典拆分成多个字典 - 乐贴网