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

2024-09-25 08:33:54 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个简单的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]}]

我已经试过了,但找不到办法。请注意,每个切片/批次中的位置对我来说并不重要,只要它们在切片中均匀分布


Tags: 元素目标列表字典切片办法location3location1
1条回答
网友
1楼 · 发布于 2024-09-25 08:33:54

试着这样做:

n = 2 # the desired # of parts
items = list(d.items())
y = [dict(items[x:x+n+1]) for x in range(0, len(d), n+1)]

相关问题 更多 >