问题是一个房间号码和客人详细信息的列表,我从txt文件中直接提取,需要将其放入字典中,房间号码作为键,详细信息作为值。
客人清单就是一个列表,每个项目代表房间号码、客人姓名、到达和离开日期。没有任何内容与他们相邻的房间是空的。
基本上,需要将其放入字典中。这是我尝试的方法:
客人清单就是一个列表,每个项目代表房间号码、客人姓名、到达和离开日期。没有任何内容与他们相邻的房间是空的。
nlist = [['101'], ['102'], ['103'],
['201', ' John Cleese', ' 5/5/12', ' 5/7/12'], ['202'],
['203', ' Eric Idle', ' 7/5/12', ' 8/7/12'], ['301'], ['302'], ['303']]
基本上,需要将其放入字典中。这是我尝试的方法:
guests = {}
for i in nlist:
if len(i) == 1:
key = i[0]
guests[key] = None
else:
key = i[0]
val = i[1],i[2],i[3]
guests[key] = val
这给了我:
guests = {'201': (' John Cleese', ' 5/5/12', ' 5/7/12'),
'203': (' Eric Idle', ' 7/5/12', ' 8/7/12'), '202': None, '301': None,
'302': None, '303': None, '102': None, '103': None, '101': None}
您可以看到,这个字典没有按照任何特定的顺序组合起来。然而,对于这个特定的练习,字典需要按照房间号从低到高的顺序排列。我以为它会只是从头到尾迭代每个内部列表,测试它,并按照那个顺序构建字典。
有谁知道如何编写代码,使得字典按照 {'101': None, '102', None, '103': None... 等)的顺序呈现?并且希望有人能够解释为什么我的代码没有像我预期的那样工作。