我有两列的txt文件:
user1 1
user2 2
user3 3
user4 4
user5 5
所以,我读了字典的列:
def read_users(filename):
users = {}
with open('1.txt', 'r') as f:
for line in f:
words = line.split()
users[words[0]] = words[1]
return users
函数返回以下字典:
{'user4':'4'}; {'user5':'5'}; {'user1':'1'}; {'user2':'2'}; {'user3':'3'}
为什么以user4开头?它应该是从user1到user5。文件中的字符串顺序是正确的。
答案 0 :(得分:0)
字典无序。从技术上讲,订单是
这取决于项目的插入顺序以及键的哈希值。如果您使用的是python2.7,则可以使用记住插入顺序的collections.OrderedDict
。如果您真的感兴趣,请参阅this answer,了解Cpython如何确定映射的顺序。