如何修改Python代码使嵌套字典命名从name1开始递增?
问题解决方法
首先修正代码里的两处问题,即可实现嵌套字典键从name1开始递增的需求:
问题点修正
- 循环内的
return_from_add_2.append(row)是笔误,应改为example.append(row),因为你定义的存储CSV数据的列表是example。 - 要让索引从1开始,无需手动设置
i=1(这会导致语法错误),只需给enumerate()函数添加start=1参数即可。
修正后的完整代码
import sys import csv example = [] with open(sys.argv[1], encoding='utf-8-sig', newline='') as csvfile: reader = csv.DictReader(csvfile) for row in reader: example.append(row) special = {f'name{i}': v for i, v in enumerate(example, start=1)}
补充说明
enumerate(example, start=1)会让枚举的索引值从1开始计数,生成的键自然就是name1、name2、name3……依次递增。- 注意代码开头需要导入
sys和csv模块,否则会出现模块未定义的报错(原代码遗漏了导入语句)。
内容的提问来源于stack exchange,提问作者realtime
相关产品推荐
相关产品推荐

