【问题标题】:Сompare all urls of the list of dictionaries with each other相互比较字典列表的所有 url
【发布时间】:2021-08-05 19:57:53
【问题描述】:

我有一个字典列表:

list = [
    {'system': 'account-d84', 'version': '1.2.16', 'contour': {'test': {'urls': {'db_diasoft_datasource_jdbc-url': 'jdbc:sqlserver://diasoftGLtest.rccf.ru:49031;databaseName=DiasoftGLtest', 'ws_url': 'http://fssp-dev-dev-fa-glws.apps.test.k8s.rccf.ru/glws/glws'}}}},
    {'system': 'account-d84', 'version': '1.2.12', 'contour': {'cards': {'urls': {'db_diasoft_datasource_url': 'jdbc:jtds:sqlserver://diasoftGLCards.rccf.ru:49064;databaseName=diasoftglCARDS', 'ws_url': 'http://fssp-dev-dev-fa-glws.apps.test.k8s.rccf.ru/glws/glws'}}}},
    {'system': 'account-d84', 'version': '1.2.12', 'contour': {'gp': {'urls': {'db_diasoft_datasource_url': 'jdbc:jtds:sqlserver://diasoftGLGP.rccf.ru:49040;databaseName=diasoftglGP', 'ws_url': 'http://fssp-dev-dev-fa-glws.apps.test.k8s.rccf.ru/glws/glws'}}}},
    {'system': 'account-d84', 'version': '1.2.16', 'contour': {'dev': {'urls': {'db_diasoft_datasource_jdbc-url': 'jdbc:sqlserver://diasoftGLtest.rccf.ru:49031;databaseName=DiasoftGLtest', 'ws_url': 'http://fssp-dev-dev-fa-glws.apps.test.k8s.rccf.ru/glws/glws'}}}},
    {'system': 'account-d84', 'version': '1.2.18', 'contour': {'preprod': {'urls': {'db_diasoft_datasource_url': 'jdbc:jtds:sqlserver://DiasoftGK-Hagl.rccf.ru:1433/DiasoftGL'}}}},
    {'system': 'account-d84', 'version': '1.2.18', 'contour': {'preprodft': {'urls': {'db_diasoft_datasource_url': 'jdbc:jtds:sqlserver://SRVDB253.rccf.ru:1433/DiasoftGLft'}}}},
    {'system': 'account-d84', 'version': '1.2.18', 'contour': {'prod': {'urls': {'db_diasoft_datasource_url': 'jdbc:jtds:sqlserver://DiasoftGK-Hagl.rccf.ru:1433/DiasoftGL'}}}}
]

如何在 Python 中为键 key=db_diasoft_datasource_jdbc-urlkey=db_diasoft_datasource_url 找到不同轮廓的相同 url 值?

例如: url 'http://fssp-dev-dev-fa-glws.apps.test.k8s.rccf.ru/glws/glws'test, cards, gp and dev 相同。 'jdbc:jtds:sqlserver://DiasoftGK-Hagl.rccf.ru:1433/DiasoftGL' 等于 preprod and prod

我需要输出systemversioncontoururls,其中有相同的网址。

【问题讨论】:

    标签: python list dictionary compare


    【解决方案1】:

    我真的不知道这是否有帮助,因为我不太了解您的问题的解释,但是该算法为您提供了 key=db_diasoft_datasource_jdbc-url 或 key=db_diasoft_datasource_url 的所有唯一 url 及其轮廓如下:

    {
      "jdbc:sqlserver://diasoftGLtest.rccf.ru:49031;databaseName=DiasoftGLtest": ["test", "dev"],
      "jdbc:jtds:sqlserver://diasoftGLCards.rccf.ru:49064;databaseName=diasoftglCARDS": ["cards"],
      "jdbc:jtds:sqlserver://diasoftGLGP.rccf.ru:49040;databaseName=diasoftglGP": ["gp"],
      "jdbc:jtds:sqlserver://CLSDB3014.rccf.ru:1433/DiasoftGLnt": ["preprod"],
      "jdbc:jtds:sqlserver://SRVDB253.rccf.ru:1433/DiasoftGLft": ["preprodft"],
      "jdbc:jtds:sqlserver://DiasoftGK-Hagl.rccf.ru:1433/DiasoftGL": ["prod"]
    }
    

    代码:

    list = [
        {'system': 'account-d84', 'version': '1.2.16', 'contour': {'test': {'urls': {'db_diasoft_datasource_jdbc-url': 'jdbc:sqlserver://diasoftGLtest.rccf.ru:49031;databaseName=DiasoftGLtest', 'ws_url': 'http://fssp-dev-dev-fa-glws.apps.test.k8s.rccf.ru/glws/glws'}}}},
        {'system': 'account-d84', 'version': '1.2.12', 'contour': {'cards': {'urls': {'db_diasoft_datasource_url': 'jdbc:jtds:sqlserver://diasoftGLCards.rccf.ru:49064;databaseName=diasoftglCARDS', 'ws_url': 'http://fssp-dev-dev-fa-glws.apps.test.k8s.rccf.ru/glws/glws'}}}},
        {'system': 'account-d84', 'version': '1.2.12', 'contour': {'gp': {'urls': {'db_diasoft_datasource_url': 'jdbc:jtds:sqlserver://diasoftGLGP.rccf.ru:49040;databaseName=diasoftglGP', 'ws_url': 'http://fssp-dev-dev-fa-glws.apps.test.k8s.rccf.ru/glws/glws'}}}},
        {'system': 'account-d84', 'version': '1.2.16', 'contour': {'dev': {'urls': {'db_diasoft_datasource_jdbc-url': 'jdbc:sqlserver://diasoftGLtest.rccf.ru:49031;databaseName=DiasoftGLtest', 'ws_url': 'http://fssp-dev-dev-fa-glws.apps.test.k8s.rccf.ru/glws/glws'}}}},
        {'system': 'account-d84', 'version': '1.2.18', 'contour': {'preprod': {'urls': {'db_diasoft_datasource_url': 'jdbc:jtds:sqlserver://CLSDB3014.rccf.ru:1433/DiasoftGLnt'}}}},
        {'system': 'account-d84', 'version': '1.2.18', 'contour': {'preprodft': {'urls': {'db_diasoft_datasource_url': 'jdbc:jtds:sqlserver://SRVDB253.rccf.ru:1433/DiasoftGLft'}}}},
        {'system': 'account-d84', 'version': '1.2.18', 'contour': {'prod': {'urls': {'db_diasoft_datasource_url': 'jdbc:jtds:sqlserver://DiasoftGK-Hagl.rccf.ru:1433/DiasoftGL'}}}}
    ]
    
    h = {}
    for i in list:
        for j in i["contour"]:
            for k in i["contour"][j]["urls"]:
                if (k == "db_diasoft_datasource_jdbc-url" or k == "db_diasoft_datasource_url"):
                    if i["contour"][j]["urls"][k] in h:
                        h[i["contour"][j]["urls"][k]].append(j)
                    else:
                        h[i["contour"][j]["urls"][k]] = [(j)]
                        
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-21
      • 2023-01-12
      • 1970-01-01
      • 1970-01-01
      • 2022-11-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多