我有一个YAML文件,如下所示
Title: "COVID-19 Bulletin – Details on key guidances and press releases on COVID-19 (Vol.42 – 15Jan2021)"
Section 1:
- Title : "What's new in this issue?"
- Heading 2:
Title : "North America"
Heading 3:
Title: "US guidances/regulations"
Content :
- "13-Jan-2021: COVID-19: Potency Assay Considerations for Monoclonal Antibodies and Other Therapeutic Proteins Targeting SARS-CoV-2 Infectivity"
- Heading 2:
Title : "Asia-Pacific"
Heading 3:
Title: "Canada notices/statements/press releases"
Content:
- "11-Jan-2021: Notice: Vaccines and Treatments for COVID-19: Progress, 11-Jan-2021"
- "08-Jan-2021: Notice: COVID-19 Vaccine Safety-Adverse Events Following Immunization Report, 08-Jan-2021"我需要能够访问标题3的内容。当我像这样打印它时:
print(section1[1]["Heading 2"]["Heading 3"]["Content"])它可以很好地打印输出,但是当我在循环中打印它时,它会给出一个错误
for i in range(1, len(section1)):
heading2 = section1[i]["Heading 2"]["Title"]
for j in section1[i]["Heading 2"]["Heading 3"]:
print(j["Title"])它会给出以下错误:
TypeError: string indices must be integers发布于 2021-06-10 21:26:45
你的内部循环:
for j in section1[i]["Heading 2"]["Heading 3"]:
print(j["Title"])正在迭代“标题3”中包含的字典的键,因为“标题3”的主体是一个字典(而不是一个列表)。因此j将采用“标题3”中的键的值。因此,根据您提供的代码片段,"Title“然后是"Content”。
如果你想访问每个“标题3”的标题,你不需要循环,你只需要访问section1[i]["Heading 2"]["Heading 3"]["Title"]。
https://stackoverflow.com/questions/67916700
复制相似问题