如何用for循环批量创建键为docN的Python字典?解决语法报错
解决批量创建文档字典的问题
没问题,我来帮你搞定这个批量创建字典的问题~
首先先排查你遇到的语法错误:你写的for i in range(len((Finance.documents)):里多了一个多余的左括号,正确的写法应该是range(len(Finance.documents))(另外注意你手动示例里用的是Title_Loans.documents,记得保持变量名统一哦)。
接下来给你几种高效的实现方式,不用再手动写几百个键值对:
方法一:for循环逐步构建字典
这种方式逻辑直观,适合刚接触循环的场景:
docs = {} # 遍历documents的每个索引 for i in range(len(Title_Loans.documents)): # 生成键名:doc+序号(从1开始) key_name = f'doc{i+1}' # 将对应文档存入字典 docs[key_name] = Title_Loans.documents[i]
方法二:字典推导式(更简洁高效)
Python的字典推导式可以一行完成字典的批量生成,代码更紧凑:
docs = {f'doc{i+1}': Title_Loans.documents[i] for i in range(len(Title_Loans.documents))}
方法三:结合enumerate(可读性更强)
如果Title_Loans.documents是可迭代对象(比如列表),用enumerate能同时获取索引和对应文档,代码更清晰:
docs = {f'doc{index+1}': document for index, document in enumerate(Title_Loans.documents)}
enumerate会自动帮你遍历每个元素并返回它的索引,不用手动计算长度,出错概率更低。
以上三种方法都能生成你需要的字典,键从doc1到doc2105,对应的值正好是Title_Loans.documents[0]到Title_Loans.documents[2104],完全匹配你的需求~
内容的提问来源于stack exchange,提问作者Ankita Patnaik
相关产品推荐
相关产品推荐

