首页 > 解决方案 > 如何在字典中添加具有相同键的数据

问题描述

在我的问题中,我试图添加具有相同键和值的数据应该不同但无法获得我想要的输出..任何人都可以帮我解决这个问题。

     数据1 = """
       aaa-server AD-phoenix.ru 协议 ldap
       最大失败尝试次数 4
       领域 ID 6
       aaa-server AD-phoenix 协议 ldap
       aaa-server AD-phoenix.u 协议 ldap
       aaa-server AD-phoenix.u 主机 10.128.27.8
       aaa-server AD-phoenix.ru 主机 10.128.21.8
       aaa-server AD-phoenix 主机 10.128.21.8
       aaa-server AD-phoenix.ru 主机 10.128.21.9
       服务器端口 89
       """

     aaaserver_index_dict = {}
     aaaserver_dict ={}
     aaaserverIp_dict = {}
     对于索引,枚举中的行(data1.splitlines()):
       如果 'aaa-server' 在行和 'protocol ldap' 在行:
        模式 = re.search(r'aaa-server (\S+) 协议 ldap',行)
          如果 pattern 和 pattern.group(1) 不在 aaaserver_dict.keys() 中:
            aaaserver_dict.setdefault(pattern.group(1), {}).update({"name":index})
            继续
       如果 'aaa-server' 在行和 'host' 在行:
        模式 = re.search(r'aaa-server (\S+) 主机 (\S+)', 行)
         如果 pattern 和 pattern.group(1) 不在 aaaserver_dict.keys() 中:
            aaaserver_dict.setdefault(pattern.group(1), {}).update({"name": index})
         如果 pattern 和 pattern.group(2) 不在 aaaserverIp_dict.keys() 中:
            aaaserverIp_dict[pattern.group(2)] = pattern.group(1)
         别的:
            aaaserverIp_dict[pattern.group(2)] = pattern.group(1)
     打印(aaaserver_dict)
     打印(aaaserverIp_dict)

**aaaserverIp_dict** 的所需输出:- {"10.128.27.8": 'AD-phoenix.u',"10.128.21.8":'AD-phoenix.ru',"10.128.21.8":'AD-phoenix' "10.128.21.9":'AD-phoenix.ru'}

标签: python-3.xdictionary

解决方案


推荐阅读