Python 集合
在Python中,集合(collections)是用于存储数据的容器,Python中内置的数据结构包括元组(tuples)、列表(lists)、集合(sets)和字典(dictionaries)。collections类提供了除内置数据结构以外的其他数据结构。
‘collections’模块中的一些数据结构-
- Counter计数器
-
namedTuple命名元组
-
orderedDict有序字典
-
defaultDict默认字典
-
Deque双端队列
-
chainMap链式映射
Counter计数器
这是一种集合类型,其中元素将存储为字典键(keys),并将计数存储为字典值(values)。
如果要计算列表中任何项目的频率,传统上会使用一个名为“ count”的变量,该变量最初将被设置为零,并且每次遇到该项目时都会增加一个。这在列表很长时不是最优化的方式。因此,为了同时计数不同的对象,我们将使用计数器。
示例
在以下示例中,导入计数器方法来自collections库。 然后创建一个名为“a”的字符串并将其赋值为“tutorialspoint”。
输出
执行上述程序后,它将打印出“a”中每个字母的字典,以及该字母出现的次数。
values() 函数
values()函数将给出一个包含所有值的计数的列表。
示例
输出
most_common()函数
most_common()函数用于给出具有最大计数的项/项的字典。需要在括号内注明需要显示的值的数量。
示例
输出
名为元组函数(namedTuple()function)
namedtuple()将允许我们创建具有命名字段的元组。因此,我们可以使用点符号访问它们而不是使用索引访问项目。
使用索引访问元组项可能很困难和令人困惑。为了防止这种情况,我们可以使用namedtuple()。
与元组一样,命名元组也是不可变的。
namedtuple需要两个参数。
示例
在以下示例中,此程序创建了一个名为“person”的namedtuple,并创建了一个名为id的person namedtuple实例,该实例具有各个字段的值。
输出
OrderedDict
OrderedDict是一种可以记住其项目顺序的字典。它用于保留将添加到列表中的项目的顺序。与普通字典相似,可以以各种方式将项目添加到OrderedDict中。
示例
输出
在执行上述代码后,将显示如下程序并打印整个字典。
示例
下面的程序从collections模块导入OrderedDict类,并创建了一个包含四个键-值对的OrderedDict对象。键分别为’sachin’、’Dhoni’、’Rohit’和’Kohli’,对应的值分别为100、90、110和95。
输出
defaultdict
defaultdict具有字典的所有功能,但额外具有不会返回KeyError的特性。在字典中,如果您尝试访问或修改不存在的键,则会获取一个KeyError。而defaultdict总是在键不存在时分配默认值。因此,defaultdict用于处理丢失的键。
示例
下面的程序从collections模块导入defaultdict类。接着使用defaultdict创建了一个新字典d,并将其设置为使用整数值。然后,将三个键值对添加到该字典中,其中’Sachin’的值为90,’Dhoni’的值为80,而’Virat’的值为95。
输出
由于’Rohit’没有定义并且’int’作为参数,因此默认值将为0。