【发布时间】:2018-05-01 10:49:06
【问题描述】:
我想将一个简单的 dict 像这样:d = {0:0, 1:1, 2:2, 3:3} 转换为一个 dict 列表,其中每个(或更多)的元素数量与这个:[{0:0, 2:2}, {1:1, 3:3}] 相同。我尝试过像列表一样使用简单的索引,但它给我带来了TypeError: unhashable type: 'slice'。这是我现在拥有的:
def dico_chunks(dico, n):
if len(dico) < n:
n = len(dico)
return [dico[i::n] for i in range(n)]
请记住,无论如何我都不需要对列表进行排序。我只需要将我的主字典拆分为n 子字典列表。
【问题讨论】:
-
您需要决定将哪些元素放入列表内的同一字典中的规则。
-
字典是无序的集合,项目没有与之关联的自然索引号。您可以拆分 dict 的键列表,但请记住,该列表可能不是您期望的顺序。
-
你能把分割的规则更清楚一点吗?
-
我需要主字典中的每个值在任何子字典中只出现一次。我只需要将我的主字典拆分为多个较小的字典 (
n),每个子字典中的值数量相同。 -
链接问题中接受的答案是否符合您的要求?
标签: python list dictionary