Python 可以在一个列表中计算多个字符串的匹配项吗?

Python 可以在一个列表中计算多个字符串的匹配项吗?,python,list,counter,Python,List,Counter,我不想计算一个项目的出现次数,而是计算多个项目的出现次数。变量match包含字符串列表。我想搜索目标列表目标列表中有多少个匹配项目 match = ["Manager", "Access Responsible"] 我的字典包含以下条目: dict = {'WF:ACAA-CR (auto)': ['Manager', 'Access Responsible', 'Automatic'], 'WF:ACAA-CR-AccResp (auto)': ['Manager', 'Access

我不想计算一个项目的出现次数,而是计算多个项目的出现次数。变量
match
包含字符串列表。我想搜索目标列表目标列表中有多少个
匹配项目

match = ["Manager", "Access Responsible"]
我的字典包含以下条目:

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']}
我现在的代码是:

for key, values in dict.items():
    val = values
    match = "Manager"
    c = Counter(val)
    print(key, c[match])
输出为:

WF:ACAA-CR (auto) 1
WF:ACAA-CR-AccResp (auto) 1
WF:ACAA-CR-IT-AccResp[AUTO] 0
这很好,我想要这样的东西,但最后在
匹配中有六项

我试过:

for key, values in dict.items():
    val = values
    match = ["Manager", "Access Responsible"]
    c = Counter(val)
    print(key, c[match])
错误消息是:

回溯(最近一次呼叫最后一次): 文件“C:/Users/.PyCharmCE2018.2/config/scratches/extract.py”,第29行,在 打印(键,c[匹配]) TypeError:不可损坏的类型:“列表”


如何计算列表中多个字符串的匹配数?

您只需在
匹配列表上循环查找每个元素。另外,我不明白为什么需要一个额外的变量
val

代码的问题是,您试图将一个完整的列表
match
作为参数传递给
计数器的输出,该计数器是一个字典。因此,您试图使用
匹配
列表中的两个值作为键。因此你得到了错误

match = ["Manager", "Access Responsible"]

for key, values in dict_2.items():
    val = values
    c = Counter(val)
    for m in match:
        print(key, c[m])


谢谢,这就行了。现在我只取和,所以我没有多行,而是一行匹配的和。欢迎您。一种方法是简单地列一个列表并存储其中发生的事件,然后稍后打印总数。是的,这也是我的想法。
WF:ACAA-CR (auto) 1
WF:ACAA-CR (auto) 1
WF:ACAA-CR-AccResp (auto) 1
WF:ACAA-CR-AccResp (auto) 1
WF:ACAA-CR-IT-AccResp[AUTO] 0
WF:ACAA-CR-IT-AccResp[AUTO] 1