由于字典很大,因此最好将所有涉及的项都保留为迭代器和生成器,像这样
from itertools import islicedef 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}


