如何用0-9数字为键、带括号对应数字为值构建JSON?
修正代码实现目标JSON结构
原代码的错误点
- 循环里
number = i+1会让键变成1-10,不符合0-9的需求 - 存在未定义变量
numerito,属于拼写错误,应使用当前循环变量i - 构建字典的语法完全错误,
enumerate(value{})是无效写法,且生成器表达式无法直接转为字典
修正后的代码实现
方式一:循环构建字典
import json result_dict = {} for i in range(10): result_dict[i] = f"({i})" # 转为格式化的JSON字符串 json_str = json.dumps(result_dict, indent=4) print(json_str)
方式二:简洁的字典推导式
import json # 一行生成目标字典 result_dict = {i: f"({i})" for i in range(10)} # 转为JSON字符串 json_str = json.dumps(result_dict, indent=4) print(json_str)
输出结果
运行后会得到符合要求的结构:
{ "0": "(0)", "1": "(1)", "2": "(2)", "3": "(3)", "4": "(4)", "5": "(5)", "6": "(6)", "7": "(7)", "8": "(8)", "9": "(9)" }
注:JSON规范要求键必须是字符串,所以转成JSON后数字键会自动转为字符串;若仅需Python字典中保留数字键,代码里的result_dict直接满足需求。
内容的提问来源于stack exchange,提问作者José Torres
相关产品推荐
相关产品推荐

