如何将多个字典追加到一个列表中的字典里?

0 投票
1 回答
30 浏览
提问于 2025-04-12 23:10

我有以下的Python代码:

data = []
data2 = [1,2,3]

for x in data2:
    row = {
        'data': []
        }
    row['data'].append({'record': x})
    data.append(row)

print(data)

我想要得到这样的输出:

[
    {
        "data": [
            {
                "Record": 1
            },
            {
                "Record": 2
            },
            {
                "Record": 3
            }
        ]
    }
]

但是使用append()方法不行,我该怎么办呢?

1 个回答

1

row 必须放在循环外面,否则它会重复执行很多次。

data = []
data2 = [1,2,3]

# Moved out of the loop
row = {
    'data': []
    }
for x in data2:
    row['data'].append({'record': x})

# Moved out of the loop
data.append(row)

如果想要得到格式化的输出:

import json

print(json.dumps(data, indent=4))

撰写回答