我需要打印
“主题{topic}由{creator}创建于{date_added}。”使用FOR循环。我已根据作业将所有必需的信息输入字典。
我不知道我还有什么尝试。通过字典和FOR循环寻求帮助。
#1.1
topic1 = {
"date_added": (2019,9.1),
"creator": "Mark Scorgie"
}
topic2 = {
"date_added": (2019,9.1),
"creator": "Mark Scorgie"
}
topic3 = {
"date_added": (2019,9.1),
"creator": "Mark Scorgie"
}
#1.2
topics = {
"climbing": topic1,
"travelling": topic2,
"swimming": topic3
}
#2
for topic, date_added, creator in sorted(topics.keys()):
print(f"Topic {topic} was created on {date_added} by {creator}")
我收到一条错误消息,提示未定义{date_added}。我已经尝试了sorted(topics.items())中的主题,并且尝试了sorted(topics.keys())中的主题,但是没有运气。不确定在循环的每次迭代中如何定义date_added和creator。
答案 0 :(得分:1)
您的代码的第一个问题是您在“ date_added”键中使用了一个元组。应该是
topic1 = {
"date_added": "2019,9.1",
"creator": "Mark Scorgie"
}
for key, value in topics.items():
print(f"Topic {key} was created on {value['date_added']} by {value['creator']}")
键将是主题的名称,值将是包含该主题信息的字典。您可以使用dict [key_name]
访问dict的值答案 1 :(得分:0)
对于dict对象,您可以执行someDict.items()来分离键值和元素值。
因此,您可以使用for循环通过以下方式访问键和值:
someDict = {
"abc" : "123"
}
for key, value in someDict.items():
print(key) #output: abc
print(value) #output: 123