官术网_书友最值得收藏!

Counter objects

Counter is a subclass of a dictionary where each dictionary key is a hashable object and the associated value is an integer count of that object. There are three ways to initialize a counter. We can pass it any sequence object, a dictionary of key:value pairs, or a tuple of the format (object = value, ...), for example:

We can also create an empty counter object and populate it by passing its update method an iterable or a dictionary, for example:

Notice how the update method adds the counts rather than replacing them with new values. Once the counter is populated, we can access stored values in the same way we would for dictionaries, for example:

The most notable difference between counter objects and dictionaries is that counter objects return a zero count for missing items rather than raising a key error, for example:

We can create an iterator out of a Counter object by using its elements() method. This returns an iterator where counts below one are not included and the order is not guaranteed. In the following code, we perform some updates, create an iterator from Counter elements, and use sorted() to sort the keys alphabetically:

Two other Counter methods worth mentioning are most_common() and subtract(). The most common method takes a positive integer argument that determines the number of most common elements to return. Elements are returned as a list of (key ,value) tuples. The subtract method works exactly like update except instead of adding values, it subtracts them, for example:

主站蜘蛛池模板: 荥经县| 当阳市| 诏安县| 增城市| 晴隆县| 嘉峪关市| 海晏县| 榕江县| 乳山市| 集贤县| 延庆县| 清新县| 永年县| 斗六市| 从江县| 宜兰市| 濮阳市| 武功县| 永康市| 澄江县| 桃园市| 龙口市| 浦县| 丹东市| 五寨县| 龙岩市| 兖州市| 安福县| 巴楚县| 米林县| 康乐县| 清水河县| 广平县| 吉林市| 宁津县| 松阳县| 平乐县| 南陵县| 宜兴市| 彰化县| 土默特右旗|