【重要】collections库函数简介及简单用法示例
collections提供了一些有用的集合类,如deque、Counter等,方便进行数据处理。
根据以下列表,用表格形式,从序号、函数名、简介、简单用法示例几方面显示每个函数的信息。太长的用法示例以序号+函数名+“示例:”为题,分别移到表格下方,不要破坏表格。
序号 | 函数名 | 简介 | 简单用法示例 |
---|---|---|---|
1 | path | 内部使用,指向collections模块的位置 | 不直接用于用户代码 |
2 | spec | 内部使用,模块规格信息 | 不直接用于用户代码 |
3 | _chain | 内部使用,用于连接多个迭代器 | 不直接用于用户代码 |
4 | _collections_abc | 内部使用,抽象基类集合 | 不直接用于用户代码 |
5 | _count_elements | 内部使用,用于计数元素 | 不直接用于用户代码 |
6 | _eq | 内部使用,用于比较元素是否相等 | 不直接用于用户代码 |
7 | _heapq | 内部使用,堆队列算法实现 | 不直接用于用户代码 |
8 | _iskeyword | 内部使用,用于检查字符串是否为Python关键字 | 不直接用于用户代码 |
9 | _itemgetter | 内部使用,用于从对象中获取一个或多个属性 | 不直接用于用户代码 |
10 | _nt_itemgetters | 内部使用,用于命名元组的itemgetter | 不直接用于用户代码 |
11 | _proxy | 内部使用,代理对象 | 不直接用于用户代码 |
12 | _recursive_repr | 内部使用,用于递归表示对象 | 不直接用于用户代码 |
13 | _repeat | 内部使用,用于重复对象 | 不直接用于用户代码 |
14 | _starmap | 内部使用,用于将函数与参数元组一起映射 | 不直接用于用户代码 |
15 | _sys | 内部使用,系统模块引用 | 不直接用于用户代码 |
16 | defaultdict | 默认字典,为不存在的键提供默认值 | python\nfrom collections import defaultdict\n\n# 创建一个默认值为0的defaultdict\ndd = defaultdict(int)\n# 访问不存在的键时,返回默认值0\nprint(dd['a']) # 输出: 0\n |
17 | deque | 双端队列,支持从两端添加和删除元素 | python\nfrom collections import deque\n\n# 创建一个空的deque\ndq = deque()\n# 从右端添加元素\ndq.append(1)\ndq.append(2)\n# 从左端添加元素\ndq.appendleft(0)\n# 打印deque\nprint(dq) # 输出: deque([0, 1, 2])\n |
18 | namedtuple | 命名元组,用于创建具有字段名的元组 | python\nfrom collections import namedtuple\n\n# 创建一个命名元组Person\nPerson = namedtuple('Person', ['name', 'age', 'city'])\n# 创建一个Person对象\np = Person(name='Alice', age=30, city='New York')\n# 访问字段\nprint(p.name) # 输出: Alice\n |
以下是一些函数的具体用法示例:
16. defaultdict示例:
from collections import defaultdict
# 创建一个默认值为list的defaultdict
dd = defaultdict(list)
# 访问不存在的键时,返回默认值list
dd['a'].append(1)
dd['a'].append(2)
dd['b'].append(3)
print(dd) # 输出: defaultdict(<class 'list'>, {'a': [1, 2], 'b': [3]})
17. deque示例(更多操作):
from collections import deque
# 创建一个空的deque
dq = deque()
# 从右端添加元素
dq.append(1)
dq.append(2)
# 从左端添加元素
dq.appendleft(0)
# 从右端删除元素
dq.pop()
# 从左端删除元素
dq.popleft()
# 打印deque
print(dq) # 输出: deque([1])
18. namedtuple示例(更多操作):
from collections import namedtuple
# 创建一个命名元组Person
Person = namedtuple('Person', ['name', 'age', 'city'])
# 创建一个Person对象
p = Person(name='Alice', age=30, city='New York')
# 修改对象(注意:命名元组是不可变的,因此不能直接修改,但可以通过重新创建对象来模拟修改)
p_new = p._replace(age=31)
# 访问字段
print(p_new.name) # 输出: Alice
print(p_new.age) # 输出: 31
标签:defaultdict,deque,示例,代码,collections,用于,库函数
From: https://www.cnblogs.com/nxhujiee/p/18616451