首页 > 解决方案 > 在循环python中访问Counter()中的元素

问题描述

我有这个:

num_values = 3
lst = [1, 2, 3, 1, 2, 2, 2, 2, 2, 2]
counters = Counter(lst)

Counter({2: 7, 1: 2, 3: 1}) 我需要做一个 for 循环并访问我的 Counter 中的每个值。我该怎么做呢?例子:

for value in counters:
    scores = 0
    if counters[key] <= num_keys:
        scores += 1

我在这个和其他尝试中也得到了错误的值

标签: python

解决方案


像这样使用,它基本上是经过key:value对的counters,你key没有得到它。也可以使用num_values,因为您的代码num_keys中没有任何名称num_keys,您可以使用value而不是再次访问 by counters[key]。另一件事是您可能需要scores在循环外声明。

scores = 0
for key, value in counters.items():
    # scores = 0
    if value <= num_values:
        scores += 1

推荐阅读