Python - AI 助手

Python collections.Counter



Python Counter 是一个容器,用于保存对象的计数。它用于统计迭代对象中存在的项目数量。计数可以是任何整数值,包括零或负数。

Counter 是字典的子类。它以键值对的形式表示数据。它继承了字典的所有方法和属性。它允许执行算术和集合运算。它可以与任何实现迭代协议的迭代对象一起使用。

语法

以下是 Python Counter 的语法:

class collections.Counter([iterable-or-mapping])

参数

此数据类型接受迭代对象作为参数。

返回值

此数据类型返回计数器对象。

Counter 的初始化

Counter 使用迭代对象作为输入值进行初始化。以下是初始化 Counter 的几种不同方法:

  • 使用一系列项目
  • 使用包含键和计数的字典
  • 使用将字符串名称映射到计数的关键字参数

示例

在下面的示例中,我们以不同的方式初始化了 Counter

from collections import Counter
# With sequence of items 
print(Counter(['x','x','z','x','y','z','x','x','z','x']))
# with dictionary
print(Counter({'y':3, 'z':5, 'x':2}))
# with keyword arguments
print(Counter(z=3, x=5, y=2))

以下是上述代码的输出:

Counter({'x': 6, 'z': 3, 'y': 1})
Counter({'z': 5, 'y': 3, 'x': 2})
Counter({'x': 5, 'z': 3, 'y': 2})

示例

以下是 Python 中 Counter 的基本示例:

from collections import Counter
# Create a list
tuple1 = ('Python', 'Java', 'Python', 'C++', 'Python', 'Java')
# Count distinct elements and print Counter a object
print(Counter(tuple1))

以下是上述代码的输出:

Counter({'Python': 3, 'Java': 2, 'C++': 1})

Counter 值

我们还可以使用 keys()values()items() 方法访问计数器的所有键、值和项目。

示例

在这里,我们定义了 Counter 并找到了它的键值、值和项目:

from collections import Counter
#defined Counter
my_counter = Counter('xyzmnoxyzm')
#Finding key values
print(my_counter.keys())
#Finding values 
print(my_counter.values())
#Finding items 
print(my_counter.items()) 

以下是上述代码的输出:

dict_keys(['x', 'y', 'z', 'm', 'n', 'o'])
dict_values([2, 2, 2, 2, 1, 1])
dict_items([('x', 2), ('y', 2), ('z', 2), ('m', 2), ('n', 1), ('o', 1)])

Counter 中的方法

以下是 Counter() 类中定义的不同方法:

方法 功能
update() 用于将元素或迭代对象添加到现有的 Counter 中
total() 计算计数的总和
most_common() 返回 n 个最常见元素及其计数的列表,从最常见到最不常见。如果省略 n 或为 None,most_common() 将返回计数器中的所有元素
elements() 返回一个迭代器,该迭代器重复每个元素与其计数一样多的次数。元素按照首次遇到的顺序返回。
subtract() 从迭代对象或另一个映射(或计数器)中减去元素。

Python Counter.update() 方法

Counter 类中的 update() 方法用于向计数器添加新元素。

示例

在这里,我们创建了一个空计数器,并使用 update() 函数添加了元素,Counter 返回具有相应计数的元素:

from collections import Counter
#empty counter
var1 = Counter()
#updated with elements
var1.update([2,4,6,2,4,6,2,6])
print(var1)
var1.update([2, 6, 4])
print(var1)

以下是上述代码的输出:

Counter({2: 3, 6: 3, 4: 2})
Counter({2: 4, 6: 4, 4: 3})

Python Counter.subtract() 方法

Counter 类中的 subtract() 方法用于在两个计数器之间执行减法运算。两个计数器的减法结果可以是 负值

示例

在这里,我们定义了两个计数器,c1c2,并将 c2 从 c1 中减去:

from collections import Counter
#defined counters
c1 = Counter(A=4, B=3, C=10)
c2 = Counter(A=10, B=3, C=4)
#subtraction of c2 from cl
c1.subtract(c2)
print(c1)

以下是上述代码的输出:

Counter({'C': 6, 'B': 0, 'A': -6})

Python Counter.total() 方法

Counter 类中的 total() 方法用于计算计数器中所有元素计数的总和。

示例

在这里,我们定义了一个列表并将其转换为 Counter,然后找到所有元素计数的总和:

from collections import Counter
list1 = ['a', 'b', 'c', 'a', 'b', 'c', 'a']
count = Counter(list1).total()
print("Total elements of the list :", count)

以下是上述代码的输出:

Total elements of the list : 7

Python Counter.most_common() 方法

Python 的 Counter 类中的 `most_common()` 方法用于返回计数器中最常见的 n 个元素的列表。它按元素计数从高到低的顺序返回元素,从最常见到最不常见。如果未指定 n 值,则将返回计数器中的所有元素。

示例

以下是 Counter 的 `most_common()` 方法示例:

from collections import Counter
tup1 = (2,56,13,4,2,10,13,2, )
count = Counter(tup1).most_common(2)
print("Most common elements of the tuple :", count)

以下是上述代码的输出:

Most common elements of the tuple : [(2, 3), (13, 2)]
python_modules.htm
广告