从文件读入词典

2024-07-01 06:46:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两列的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。文件中字符串的顺序正确。你知道吗


Tags: 文件txtread字典deflinefilenameusers
1条回答
网友
1楼 · 发布于 2024-07-01 06:46:14

字典是无序的。严格地说,命令是

  • 一致(只要不插入或删除任何键,对字典进行迭代将始终以相同的顺序生成结果)
  • “任意”。不知道这些物品将按什么顺序生产。你知道吗

这取决于插入项的顺序以及键的哈希值。如果您使用的是python2.7,那么可以使用collections.OrderedDict来记住插入顺序。如果您真的感兴趣,请参阅this answer,了解Cpython如何确定映射的顺序。你知道吗

相关问题 更多 >

    热门问题