首页 > 解决方案 > 对字典值的操作没有输出

问题描述

我想遍历我的字典的值并对其应用简单的操作。不幸的是,这两篇 SO 文章对我没有帮助(对每个字典值执行操作,对一些并非所有字典值执行操作

我的字典包含以下数据:

dict = {'WF:ACAA-CR (auto)': ['Manager', 'Access Responsible', 'Automatic'],
        'WF:ACAA-CR-AccResp (auto)': ['Manager', 'Access Responsible', 'Automatic'], 
        'WF:ACAA-CR-IT-AccResp[AUTO]': ['Group', 'Access Responsible', 'Automatic']}

我的最终目标是根据键包含的值在键上设置标签。例如,“a”将是“工作流 2”,因为它具有值“经理”。但首先我只想确保我可以运行基于字典值的操作。

我的代码是:

for key, values in dict.items():
    if values == "Manager":
        print(key)

我之前的尝试包括:

if key.values() == 'Manager':
    print(key)

错误信息:

回溯(最近一次调用):文件“C:/Users/.PyCharmCE2018.2/config/scratches/UserAR2-extract.py”,第 28 行,在 if key.values() == "Manager": AttributeError: ' str' 对象没有属性 'values'

对于代码:

for key in dict.values():
    if key == "Manager":
        print(key)

我没有得到任何输出。

如何对字典应用操作?

标签: pythonpython-3.xlistdictionary

解决方案


看起来你的问题是你想要printifManager是在list值中。您只需要将您的检查从相等(仅当值是"Manager"单独的而不是在 a中时才会发生list)更改为包含:

for key, values in dict.items():
    if "Manager" in values:
        print(key)

推荐阅读