问题是我从一个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']]
基本上,我得把它放到字典里去。我试了一下:
^{pr2}$这给了我:
^{3}$正如你所见,这本词典没有按特定的顺序排列。但是,对于这个特定的练习,字典需要按房间号从低到高的顺序排列。我想我认为它应该从头到尾遍历每个内部列表,测试它,然后按照这个顺序构建字典。在
有没有人知道如何正确地编写代码,这样字典就会变成{'101':None,'102',None,'103':None。。。等等)?希望有人能解释为什么我的代码也不能像我想的那样工作。在
标准的Python字典本质上是无序的。在
一种可能是使用^{} 。它将保留插入顺序,这意味着您必须按照希望检索它们的顺序插入条目。在
另一种可能是保持
dict
不变,但按所需顺序迭代:最后,需要注意的是,您的示例将房间编号存储为字符串而不是整数。这意味着顺序是字典式的(
'90' > '100'
)。因为这是家庭作业,所以我把它作为一个练习留给阅读者,以找出如何解决这个问题。在相关问题 更多 >
编程相关推荐