将两个列表转换为动态嵌套字典,然后转换为JSON

2024-09-29 23:20:43 发布

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

我要看一个“颜色”列表:

list1 = ["red","green","other"]

对于每一个,我需要浏览一个可能匹配的列表:

list2 = ["cherries","rasperries","guava","apple","watermelon","grapes","banana"]

如果list2项的条件良好,那么我需要创建一个dict,然后将输出写入JSON文件

for x in list1:
  print x
  for y in list2:
    if y == criteria:
      myDict = {'list1-item': 'fruit1':'apple'}

我的预期输出如下:

data = {'red': {'fruit1': 'cherries', 'fruit2': 'rasperries', 'fruit3': 'guava'},
      'green': {'fruit1': 'apple'},
      'other': {'fruit1': 'watermelon', 'fruit2': 'grapes', 'fruit3': 'banana'}}

写入JSON

with open("data_file.json", "w") as write_file:
    json.dump(data, write_file)

不太熟悉根据需要构建动态词典


Tags: apple列表datagreenredfileguavaother
1条回答
网友
1楼 · 发布于 2024-09-29 23:20:43

像那样

import pprint
from random import randint
list1 = ["red", "green", "other"]
list2 = ["cherries", "rasperries", "guava", "apple", "watermelon", "grapes", "banana"]


myDict = dict()
for x in list1:
    for y in list2:
        if 1 == randint(0, 1):
            l = len(myDict.get(x, []))
            if l == 0:
                myDict[x] = dict()
            myDict[x]['fruit{}'.format(l)] = y

pprint.pprint(myDict)

相关问题 更多 >

    热门问题