搜索具有相同键和不同值的多个词典
问题描述:
如何搜索这些词典并显示某个键(由用户输入)的多个值? 我希望用户输入他们列出并输出的课程编号,以显示房间号,讲师和会议时间。搜索具有相同键和不同值的多个词典
我似乎不能让我的输出显示我想要的。当我运行我的程序时,我输入课程编号,但输出(ResultList)显示所有课程和时间。相反,我希望我的输出格式与我的例子一样。当我输入课程编号时,我只想显示该课程编号的信息。目前正在显示所有课程的所有信息。请帮助
请注意,该字典必须留在我列出
格式代码:
list1 = {"CS101":"Room 3004", "CS102":"Room 4501", "CS103":"Room 6755", "NT110":"Room 1244", "CM241":"Room 1411"}
list2 = {"CS101":"Haynes", "CS102":"Alvarado", "CS103":"Rich", "NT110":"Burke", "CM241":"Lee"}
list3 = {"CS101":"08:00", "CS102":"09:00", "CS103":"10:00", "NT110":"11:00", "CM241":"13:00"}
ResultList = {k:[ list1[k], list2[k], list3[k] ] for k in list1}
Course = input("Enter Course Number: \n")
if Course == 'CS101' or 'CS102' or 'CS103' or 'NT110' or 'CM241':
print(ResultList)
else:
print("Course not Found!")
例子:
Enter Course Number:
CS102
CS102
Room 3004
Instructor: Heynes
Meeting time: 08:00
答
相当直接的解决方案。
>>> Course = "CS102"
>>> if Course in list1.keys() and list2.keys() and list3.keys():
... print("Room {}\nInstructor: {} \nMeeting time: {}".format(list1[Course], list2[Course], list3[Course]))
... else:
... print("Course not found!")
...
Room Room 4501
Instructor: Alvarado
Meeting time: 09:00
>>> Course = "foo"
>>> if Course in list1.keys() and list2.keys() and list3.keys():
... print("Room {}\nInstructor: {} \nMeeting time: {}".format(list1[Course], list2[Course], list3[Course]))
... else:
... print("Course not found!")
...
Course not found!
>>>
+0
感谢您的帮助!这运行成功! – AlphaKing
欢迎来到*。向我们展示您迄今为止所尝试的内容以及您卡住的位置。 –
你的问题是什么? http://*.com/help/how-to-ask – wwii
对不起,我的错误。我已更新我的帖子以澄清我的问题。谢谢 – AlphaKing