【问题标题】:Creating new dictionaries using keys from main dict[BEGINNER]使用主字典中的键创建新字典[BEGINNER]
【发布时间】:2021-01-15 00:21:49
【问题描述】:

我正在尝试检查特定键是否以“:F”或“:M”结尾,因此我可以创建名为男性和女性的新字典。

d = {'Jane:F': 3, 'Tom:M': 2, 'Jeff:M': 5, 'Mary:F': 3}      #initial dict
male = {'Tom': 2, 'Jeff': 5}      #required output
female = {'Jane': 3, 'Mary': 3}      #required output

【问题讨论】:

    标签: python-3.x dictionary slice


    【解决方案1】:

    您可以通过: 拆分密钥,然后检查M 和/或F

    d = {'Jane:F': 3, 'Tom:M': 2, 'Jeff:M': 5, 'Mary:F': 3}
    
    male, female = {}, {}
    for k, v in d.items():
        k, gender = k.split(':')
        if gender == 'M':
            male[k] = v
        else:
            female[k] = v
    
    print(male)
    print(female)
    

    打印:

    {'Tom': 2, 'Jeff': 5}
    {'Jane': 3, 'Mary': 3}
    

    另一个使用 dict-comprehensions 的版本:

    male = {k.split(':')[0]: v for k, v in d.items() if k.endswith(':M')}
    female = {k.split(':')[0]: v for k, v in d.items() if k.endswith(':F')}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-23
      • 1970-01-01
      • 2019-01-16
      • 1970-01-01
      • 2022-11-15
      • 2016-12-28
      • 2017-12-20
      • 2019-05-02
      相关资源
      最近更新 更多