猿问

如何在Python中将字典拆分为多个字典的列表,所有字典的大小均为N

假设我有一个简单的 Python 字典,如下所示:

{'location1': [1], 'location2': [1], 'location3': [1], 'location4': [1], 'location5': [1]}

我的目标是将这个字典分成一个字典列表,这些字典的大小都是特定的 N,除了最后一个字典的大小,如果字典中没有足够的元素,它可能小于 N。所以 N = 2 将产生:

[{'location1': [1], 'location2': [1]}, {'location3': [1], 'location4': [1]}, {'location5': [1]}]

当 N = 3 时会产生:

[{'location1': [1], 'location2': [1], 'location3': [1]}, {'location4': [1]}, 'location5': [1]}]

我已经尝试过,但找不到方法来做到这一点。请注意,每个切片/批次中的位置对我来说并不重要,只要它们在切片之间均匀分布即可。


白猪掌柜的
浏览 202回答 1
1回答

MM们

尝试这样的事情:n = 2 # the desired # of partsitems = list(d.items())y = [dict(items[x:x+n+1]) for x in range(0, len(d), n+1)]
随时随地看视频慕课网APP

相关分类

Python
我要回答