Как создать диктат из нескольких списков - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь диктовать файл json. У меня есть около 15 списков, один список является внешним dict (s1, s2, et c .., затем ключ (param1, param, param3, et c ..: value. Все значения находятся в списках. Param1 одинаков для всех s, но имеет разные значения: S1 находится в списке, param1, 2, 3 и т. д. c - это один список, и все значения находятся в отдельных списках (значение param1 - один список значения param2 - это другой список, и т. д. c .. надеюсь, это поможет объяснить то, что я хочу, это:

lists:
family = (jones, smith, rogers, dupont, hanes, stevens)
innerkeys (dad, mom, kid)
dad = (tom, joe, harry, paul, steve, peter)
mom = (suzy, janice, lynn, julie, sandy)
kid = (joey, harold, kid3, kid4, kid5)

{
    "family": {
        "dad": dads name
        "mom": moms name
        "kid": kids name
        lots more
    }, 
    "family": {
        "dad": dads name
        "mom": moms name
        "kid": kids name
        lots more
    }, 
    "family": {
        "dad": dads name
        "mom": moms name
        "kid": kids name
        lots more
    }, 
    "family": {
        "dad": dads name
        "mom": moms name
        "kid": kids name
        lots more
    }, 
   "family": {
        "dad": dads name
        "mom": moms name
        "kid": kids name
        lots more
    }, 
    "family": {
        "dad": dads name
        "mom": moms name
        "kid": kids name
        lots more
    },  
}

, но в итоге получается:

{
    "s1": [
        "param1", 
        "s1 param1 value"
    ], 
    "s2": [
        "param2", 
        "s2 param2 value"
    ], 
    "s3": [
        "param3", 
        "s3 param1 value"
    ]
}

пытался используя zip, itertols.izip.longest

s = ("s1","s2","s3")
params = ("param1", "param2", "param3")
dct = dict(itertools.izip_longest(s, params, itertools.izip_longest(param1_value, param2_value) ) )



bb = json.dumps(dct, indent=4)
with open('data9.json', 'w') as f:
    f.write(bb)

Я искал SO для ответов и пробовал это несколькими различными способами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...