繁体   English   中英

用键和值按字典计算列表中出现的次数

[英]count number of occurrences in list by dict with key and value

使用字典,我试图找出键是否与值一样多次(或更多)出现。 因此,例如,我有一个看起来像这样的字典:

expected = { "blue": 2, "red": 1 }

和一个看起来像这样的列表:

results = [ 'green', 'blue', 'blue', 'red' ]

我需要查看蓝色是否出现 2 次或更多次,红色是否出现 1 次或更多次。 go 关于这个的最佳方法是什么? 我努力了:

for k, v in expected.items():
  if results.count(k) >= v:
    // return

但这将匹配任一键,而不是严格检查整个列表。

你需要它们至少一样大。 这意味着您必须先完成循环才能返回成功。 任何失败都意味着您可以立即返回。

for k, v in expected.items():
    if results.count(k) < v:
        return False

return True

或者,使用all function 将其放入一行:

return all(results.count(k) >= v for k, v in expected.items() )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM