Python中循环遍历多个字典的最佳方法

2024-04-25 09:19:37 发布

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

我搬字典

user = {
    'name': 'Bob',
    'age': '11',
    'place': 'moon',
    'dob': '12/12/12'
}

user1 = {
    'name': 'John',
    'age': '13',
    'place': 'Earth',
    'dob': '12/12/12'
}

通过添加1循环访问每个用户的最佳方法是什么?所以下一个用户是user2。在

谢谢


Tags: 方法用户nameage字典placejohnbob
3条回答

您可以创建一个新的dictionary变量,其中键是用户,值是一个嵌套字典,其中包含用户的所有信息,而不是将user1指定为dictionary的变量名:

users = {
    'user1': {
         'name': 'John',
         'age': '13',
         'place': 'Earth',
         'dob': '12/12/12'
         },
    'user2': {
         'name': 'Bob',
         'age': '11',
         'place': 'moon',
         'dob': '12/12/12'
         }
     ...}

然后可以迭代所有用户user1、user2、…userN的嵌套字典,而不是将每个用户分配给自己的变量。在

更新: 下面是如何在嵌套字典中循环:

^{pr2}$

其中k是键('user1','user2'等),v是包含用户信息的嵌套字典。在

处理这个问题最简单的方法(在我看来,就是把这些词列在一个列表中。 我只会用字典,如果钥匙真的有意义的话。下面也是转换为json的有效dict。在

users = [{
             'name': 'John',
             'age': '13',
             'place': 'Earth',
             'dob': '12/12/12'
             },
            {
             'name': 'Bob',
             'age': '11',
             'place': 'moon',
             'dob': '12/12/12'
             }]

用户1是用户[0],用户2是用户[1]。。。在

在用户.append({…})添加更多等

如果你想要用户号:

^{pr2}$

印刷品:

user1
user2

您可以使用^{}或{a2},具体取决于您的范围:

>>> for i in range(2):
...     print(globals()['user' + str(i)])
... 
{'name': 'Bob', 'age': '11', 'place': 'moon', 'dob': '12/12/12'}
{'name': 'John', 'age': '13', 'place': 'Earth', 'dob': '12/12/12'}

但如评论所述,我建议使用以下列表:

^{pr2}$

相关问题 更多 >