返回顶部
首页 > 资讯 > 后端开发 > Python >怎么使用Python内置库collections
  • 316
分享到

怎么使用Python内置库collections

2023-06-02 02:06:40 316人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要讲解了“怎么使用python内置库collections”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Python内置库collections”吧!Python中有很多好

这篇文章主要讲解了“怎么使用python内置库collections”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Python内置库collections”吧!

Python中有很多好用的内置的模块,比如datatime、JSON等等,本文介绍下collections模块的使用。使用collections模块时,首先要导入模块,如下所示:

import collections

我们首先介绍下OrderedDict模块的使用。在python3.5(含)中字典是无序的,即不会按照使用者插入的顺序排序,如下所示,打印结果我们发现输出并没有按输入的顺序输出。

x = dict() # 无序字典x['stock1'] = "600213"x['stock2'] = "600223"x['stock3'] = "600233"print(x) # {'stock1': '600213', 'stock3': '600233', 'stock2': '600223'}

使用operator.itemgetter对字典排序后,返回的是一个list变量,而不是字典,倘若再将这个list转换为字典后,会发现又变回了无序字典。如下所示:

x = {"stock1": "600213", "stock2": "600223", "stock3": "600233"}sorted_x = sorted(x.items(), key=operator.itemgetter(0))print(type(x)) # <class 'dict'>print(type(sorted_x)) # <class 'list'>print(dict(sorted_x)) # {'stock1': '600213', 'stock3': '600233', 'stock2': '600223'}

如果要使字典保持我们插入的顺序怎么办呢?可以用collections.OrderedDict来初始化字典,使无序字典成为有序字典,如下所示:

x = OrderedDict()x['stock1'] = "600213"x['stock2'] = "600223"x['stock3'] = "600233"print(x) # OrderedDict([('stock1', '600213'), ('stock2', '600223'), ('stock3', '600233')])print(type(x)) # <class 'collections.OrderedDict'>

OrderedDict生成的字典支持如下属性:

# values() 获取字典所有的value,返回一个列表print(x.values()) # odict_values(['600213', '600223', '600233'])# setdefault() 获取指定key的value,如果key不存在,则创建val = x.setdefault('stock4')print(val, x) # None OrderedDict([('stock1', '600213'), ('stock2', '600223'), ('stock3', '600233'), ('stock4', None)])# popitem() 按照后进先出原则,删除最后加入的元素,返回key-valueprint(x.popitem(), x) # ('stock4', None) OrderedDict([('stock1', '600213'), ('stock2', '600223'), ('stock3', '600233')])# pop() 获取指定key的value,并在字典中删除k = x.pop('stock1')print(k, x) # 600213 OrderedDict([('stock2', '600223'), ('stock3', '600233')])# keys() 获取字典所有的keyprint(x.keys())# clear() 清空有序字典#x.clear()# copy() 拷贝new_dic = x.copy()print(new_dic)# items(返回由“键值对组成元素“的列表)print(x.items())# fromkeys() 指定一个列表,把列表中的值作为字典的key, 生成一个字典dic = OrderedDict()name = ['allen', 'belln', 'cllen']print(dic.fromkeys(name)) # OrderedDict([('allen', None), ('belln', None), ('cllen', None)])print(dic.fromkeys(name, 20)) # OrderedDict([('allen', 20), ('belln', 20), ('cllen', 20)])

从Python 3.6开始,Python的字典底层机制更改后已经变成为有序字典了。虽然collections.OrderedDict的使用价值降低了,不过collections中的defaultdict仍然很有用,它可以实现一键多值的字典,如下所示:

y = defaultdict(list) # 一键多值字典使用defaultdicty["stock"].append("600213")y["stock"].append("600223")y["stock"].append("600413")y["stock"].append("600513")y["stock"].append("600225")y["stock"].append("600273")print(y) # defaultdict(<class 'list'>, {'stock': ['600213', '600223', '600413', '600513', '600225', '600273']})

接下来再介绍下collections中的Counter。Counter是一个简单的计数器,目的是用来跟踪值出现的次数。Counter以字典的键值对形式存储值出现的次数,如下所示:

c_dict = Counter('yyydadyyyaadadsaaaxxxx')print(c_dict) # Counter({'a': 7, 'y': 6, 'd': 4, 'x': 4, 's': 1})

当然也可以使用for循环实现跟踪值出现的次数,如下所示,不过使用Counter更加高效。

data = 'yyydadyyyaadadsaaaxxxx'val_cnt = {}for i in data: i_cnt = val_cnt.get(i,0) # 查找键的值 val_cnt[i] = i_cnt + 1print(val_cnt) # {'y': 6, 'd': 4, 'a': 7, 's': 1, 'x': 4}print(val_cnt.get('a')) # 7

最后我们再介绍一下ChainMap,它可以加速字典的合并。通常我们合并字典的方式如下所示:

dicta = {i: i + 1 for i in range(1, 100, 2)}dictb = {i: i + 2 for i in range(1, 100, 2)}dictc = {i: i + 3 for i in range(1, 100, 2)}dictd = {i: i + 4 for i in range(1, 100, 2)}dic_total = dicta.copy()dic_total.update(dictb)dic_total.update(dictc)dic_total.update(dictd)print(dic_total)print(dic_total.get(3, 0))

使用更高效的ChainMap方法,如下所示:

dic_total = ChainMap(dicta, dictb, dictc, dictd)

感谢各位的阅读,以上就是“怎么使用Python内置库collections”的内容了,经过本文的学习后,相信大家对怎么使用Python内置库collections这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 怎么使用Python内置库collections

本文链接: https://lsjlt.com/news/228616.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么使用Python内置库collections
    这篇文章主要讲解了“怎么使用Python内置库collections”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Python内置库collections”吧!Python中有很多好...
    99+
    2023-06-02
  • Python的一个内置模块Collections怎么使用
    这篇文章主要讲解了“Python的一个内置模块Collections怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python的一个内置模块Collections怎么使用”吧!1、模...
    99+
    2023-07-06
  • Python内置模块Collections如何使用
    本篇内容主要讲解“Python内置模块Collections如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python内置模块Collections如何使用”吧!1、模块说明collec...
    99+
    2023-06-29
  • Python内置模块Collections的使用教程详解
    目录1、模块说明2、 实战代码(1) testNamedTuple函数(2) testDeque函数(3)testDefaultdict函数(4) testOrderedDict函数...
    99+
    2024-04-02
  • python内置库wsgiref怎么使用
    这篇文章主要介绍python内置库wsgiref怎么使用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!WSGI基本原理1. WSGI处理过程浏览器到WSGI Server:浏览器发送的请求会先到WSGI Server...
    99+
    2023-06-15
  • 怎么使用Python内置数据库
    这篇文章主要讲解了“怎么使用Python内置数据库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Python内置数据库”吧!导入和使用这里我们说“内置”的意思就是,你甚至不需要运行 ...
    99+
    2023-06-16
  • python内置库怎么调用
    要调用Python内置库,只需使用import关键字,后跟所需库的名称。例如,要调用math库,可以使用以下语句: import m...
    99+
    2023-10-24
    python
  • 聊聊Python的一个内置模块Collections
    1、模块说明collections 是 Python 的一个内置模块,所谓内置模块的意思是指 Python 内部封装好的模块,无需安装即可直接使用。collections 包含了一些特殊的容器,针对 Python 内置的容器,例如:list...
    99+
    2023-05-14
    Python 函数 内置模块
  • Python标准库之collections包的使用教程
    前言 Python为我们提供了4种基本的数据结构:list, tuple, dict, set,但是在处理数据量较大的情形的时候,这4种数据结构就明显过于单一了,比如list作为数组在某些情形插入的效率会比...
    99+
    2022-06-04
    标准 教程 Python
  • python进阶collections标准库使用示例详解
    目录前言namedtuplenamedtuple的由来namedtuple的格式namedtuple声明以及实例化namedtuple的方法和属性OrderedDictpopitem...
    99+
    2022-11-13
    python collections标准库 python collections
  • Python内置logging怎么使用
    这篇文章主要讲解了“Python内置logging怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python内置logging怎么使用”吧!logging 的主要作用提供日志记录的接...
    99+
    2023-07-02
  • 怎么使用Python内置函数
    这篇文章主要介绍“怎么使用Python内置函数”,在日常操作中,相信很多人在怎么使用Python内置函数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用Python内置函数”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-01
  • python怎么使用prettytable内置库美化输出表格
    这篇文章主要介绍“python怎么使用prettytable内置库美化输出表格”,在日常操作中,相信很多人在python怎么使用prettytable内置库美化输出表格问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家...
    99+
    2023-07-02
  • Python collections模块的使用技巧
    一般来讲,python的collections是用于存储数据集合(比如列表list, 字典dict, 元组tuple和集合set)的容器。这些容器内置在Python中,可以直接使用。该collections模块提供了...
    99+
    2022-06-02
    Python collections模块 Python collections的使用
  • python 中collections的 deque使用详解
    目录1 概要2 重要方法说明3 总结1 概要 deque 是一个双端队列, 如果要经常从两端append 的数据, 选择这个数据结构就比较好了, 如果要实现随机访问,不建议用这个,请...
    99+
    2024-04-02
  • Python中 Collections 模块如何使用
    今天就跟大家聊聊有关Python中 Collections 模块如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。collections模块是一个不用不知道,一用就上瘾的模块。这...
    99+
    2023-06-15
  • Python常用内置函数怎么使用
    这篇文章主要介绍“Python常用内置函数怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python常用内置函数怎么使用”文章能帮助大家解决问题。一、abs()abs() 用于返回一个数的绝...
    99+
    2023-07-05
  • collections模块如何在Python中使用
    这期内容当中小编将会给大家带来有关collections模块如何在Python中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据...
    99+
    2023-06-14
  • python中内置srted函数怎么使用
    srted内置函数在python的使用方法srted()函数是用于处理多种类型数据的排序。语法:sorted(iterable, cmp=None, key=None, reverse=False)注:iterable:可迭代对象。cmp:...
    99+
    2024-04-02
  • python中的内置函数怎么使用
    Python中的内置函数是可直接使用的函数,不需要先导入任何模块。你可以直接在代码中调用这些函数来完成特定的操作。以下是一些常用的内...
    99+
    2023-09-07
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作