使用 for 循环在字典中创建键及其值

Creating keys and its value inside a dictionary using for loop

我想创建一个字典,其中每个键的名称都类似于 doc1doc2、....、doc2105,它将存储 [=16] 中的值=],Title_Loans.documents[1],.....,Title_Loans.documents[2104]。 我正在尝试 运行 在字典中的 length(Title_Loans.documents) 上进行 for 循环,但它显示错误:

for i in range(len((Finance.documents)):
      ^
SyntaxError: invalid syntax

下面是我 运行ning 的代码。请建议我如何做到这一点。 代码: 示例:

docs = {
    'doc1': Title_Loans.documents[0],
    'doc2': Title_Loans.documents[1],
    'doc3': Title_Loans.documents[2],
    'doc4': Title_Loans.documents[3],
    'doc5': Title_Loans.documents[4]
}

正在尝试 运行 上面的代码使用 for 循环处理大型文档。

docs = {
for i in range(len((Finance.documents)):
    doc[i]: Finance.documents[i]
    }

如果你需要字典理解,那么你必须使用理解语法,而不是语句(理解是表达式):

docs = {"doc"+str(i): Finance.documents[i]
        for i in range(len(Finance.documents))}

然而,这样写会更好

docs = {"doc"+str(i): documt for (i, documt) in enumerate(Finance.documents)}

不过,我不确定为什么可以使用 "doc1"、"doc2" 等键访问的字典优于可以使用整数键访问的简单列表。

尝试:

for i in range(len(Finance.documents)):

你的 invalid syntax 错误。

如果您希望您的密钥采用 "doc(num)" 形式,则创建一个字符串 doc_format = "doc{}"

然后 运行:

docs = {doc_format.format(index+1): Finance.documents[index] for index in range(len(Finance.documents))}

您没有使用正确的 dict-comprehension 语法,应该是:

{key, value for key in your_iterable}

where, value can be some function of key or vice-versa

针对您的情况:

docs = {"doc{}".format(i + 1): Finance.documents[i] for i in range(len(Finance.documents))}

你也可以试试这个,

doc = {}
for i in range(len(Finance.documents)):
   doc[i] = Finance.documents[i]
print(doc)