首页 > 解决方案 > 我如何将字典分成几部分?

问题描述

所以我想把字典分成19个部分,这只是为了一件事,所以它不会保留或保存它只是一个程序的一部分,所以它将它们分成19个部分所以如果有 28 个,它会将它们分成两部分,一个 19,另一个 9。

如果这完全有道理,只是在努力解决这个 xD 示例:

1- "69angel": {"uid": "u99bd5055900298f13821ad6" }, "bestbrittany": { "uid": "u80d4520e66090a088a8e73b2af" },

2- "blegh": { "uid": "u0c4afad0a1e1d3b9ffdd3db444d" }, "cassie84": { "uid": "u9b53c15bfd2f0e5a3741be1297" },

等等等等

如果您想将 dict = 下面吐成两个,那就是这样 ^

字典 =

    "selfbots": {
        "69angel": {"uid": "u99bd5055900298f13821ad6"
        },
        "bestbrittany": {
            "uid": "u80d4520e66090a088a8e73b2af"
        },
        "blegh": {
            "uid": "u0c4afad0a1e1d3b9ffdd3db444d"
        },
        "cassie84": {
            "uid": "u9b53c15bfd2f0e5a3741be1297"
        },
        "charlie": {
            "uid": "u983e257301e9cc6eb0f2bac49cb"
        },
        "fire4865-yy": {
            "uid": "u39f9e996dc8ca11863b539cadbc7a"
        },
        "huntress": {
            "uid": "ua2ed27b7932f647b492d8ef33c0cc"
        },
        "jerome": {
            "uid": "uf97f2811e2a2a24ad21d4e9e04565"
        },
        "kaida": {
            "uid": "ueaf35f7009d707651e32f7186bac"
        },
        "line": {
            "uid": "u7714db81cdf040de6a11caaab146"
        },
        "mickey": {
            "uid": "ub69bd9eecdaf4e643af552dd13b63"
        },
        "mrnobody": {
            "uid": "u8d322622a9400f2ef437460588ada"
        },
        "naughtyaf": {
            "uid": "u116ef7075f4bf14d0dfc4f0ba4490b"
        },
        "pinkprincess": {
            "uid": "u96f6d4900esdf22812c99bef10d9413aed0"
        },
        "queen": {
            "uid": "ub30557be34sdfdbe8d3a0be4265530f073c"
        },
        "ravenblackmoon": {
            "uid": "u78a3b5sdf1af28b029fdf6e58f886fffcc"
        },
        "sally": {
            "uid": "u3a02b2da2c6f87dsf7d1e45272cb72ce268"
        },
        "smithravi": {
            "uid": "u4d18fe936a783dsf3c36ee8d05f8409d6e6"
        },
        "sugar": {
            "uid": "uf5dedef47529a234a18dc975132d890e4af"
        },
        "twisted": {
            "uid": "u7f62d2a6baf650753234975d063316a1d8c"
        }
    },

`

标签: pythonjson

解决方案


您可以将字典分解为键和值列表:

keys, values = mydict.items()

或者只使用键:

keys = mydict.keys()

然后你可以使用这些来分割你的字典:

dict1 = {k:mydict[k] for k in keys[:19]}
dict2 = {k:mydict[k] for k in keys[19:38]}

等等

您可以进行进一步的列表理解,如下所示:

import math

list_of_subdicts = [{k:mydict[k] for k in keys[19*i:min(len(mydict), 19*(i+1))]} for i in range(math.ceil(len(mydict)/19))]

这将为您提供一个dict项目列表,每个项目都有 19 个条目,除了最后一个最多可以有 19 个条目。


推荐阅读