python常用数据结构模块--collections
import collections
'''
python常用数据结构模块--collections
collections是日常工作中的重点、高频模块,常用类型有:
计数器(Counter)
双向队列(deque) 参考源码 就是list
默认字典(defaultdict)
有序字典(OrderedDict)
可命名元组(namedtuple) #常用于定义一个类,该类只有一些属性,没有方法
'''
# namedtuple 用于定义一个类,该类只有一些属性,没有方法
People = collections.namedtuple("Peole", ["name", "age"]) people = People("W", 18)
print(people)
"""
"C:\Program Files (x86)\python3.8\python.exe" D:/xiaoxiao/wzg/untitled/collection模块学习.py
Peole(name='W', age=18)
Process finished with exit code 0
"""
# OrderedDict 有序字典 可实现按key或者value排序 print("正经的字典,")
d = {}
d['a'] = 'A'
d['b'] = 'B'
d['c'] = 'C'
for k, v in d.items():
print(k, v)
print("不正经的字典(我有序了,哎,就是玩儿)")
d1 = collections.OrderedDict()
d1['a'] = 'A'
d1['b'] = 'B'
d1['c'] = 'C'
d1['1'] = '1'
d1['2'] = '2'
for k, v in d1.items():
print(k, v)
"""
输出:
正经的字典, 无序
a A
b B
c C
不正经的字典(我有序了,哎,就是玩儿)
a A
b B
c C
1 1
2 2
""" print("正经的字典,")
d2 = {}
d2['a'] = 'A'
d2['b'] = 'B'
d2['c'] = 'C' d3 = {}
d3['c'] = 'C'
d3['a'] = 'A'
d3['b'] = 'B' print("不正经的字典(我有序了,哎,就是玩儿)")
d4 = collections.OrderedDict()
d4['a'] = 'A'
d4['b'] = 'B'
d4['c'] = 'C' d5 = collections.OrderedDict()
d5['c'] = 'C'
d5['a'] = 'A'
d5['b'] = 'B' print(d == d2)
print(d4 == d5)
"""
输出:
True
False
结论:有序的字典(OrderedDict):顺序不同的,元素相同,对象也是不同的
"""
dd = {'banana': 3, 'apple':4, 'pear': 1, 'orange': 2}
#按key排序
kd = collections.OrderedDict(sorted(dd.items(), key=lambda item: item[0]))
print(kd)
#按照value排序
vd = collections.OrderedDict(sorted(dd.items(),key=lambda item:item[1]))
print(vd)
'''
输出:
OrderedDict([('apple', 4), ('banana', 3), ('orange', 2), ('pear', 1)])
OrderedDict([('pear', 1), ('orange', 2), ('banana', 3), ('apple', 4)])
'''
#Counter 参考源码样例
python常用数据结构模块--collections的更多相关文章
- Python常用数据结构之collections模块
Python数据结构常用模块:collections.heapq.operator.itertools collections collections是日常工作中的重点.高频模块,常用类型由: 计数器 ...
- python 常用的模块(collections)转
collections是Python内建的一个集合模块,提供了许多有用的集合类. namedtuple 我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成: >>> ...
- Python内建模块--collections
python内建模块--collections collections是Python内建的一个集合模块,提供了许多有用的集合类. namedtuple 我们知道tuple可以表示不变集合,例如,一个点 ...
- 第四章:4.0 python常用的模块
1.模块.包和相关语法 使用模块好处: 最大的好处是大大提高了代码的可维护性.其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其他地方引用.我们在编写程序的时候,也经常引用其他模块,包括Pyt ...
- python 常用的模块
面试的过程中经常被问到使用过那些python模块,然后我大脑就出现了一片空白各种模块一顿说,其实一点顺序也没有然后给面试官造成的印象就是自己是否真实的用到这些模块,所以总结下自己实际工作中常用的模块: ...
- python常用数据结构讲解
一:序列 在数学上,序列是被排成一排的对象,而在python中,序列是最基本的数据结构.它的主要特征为拥有索引,每个索引的元素是可迭代对象.都可以进行索引,切片,加,乘,检查成员等操作.在py ...
- Python常用数据结构之heapq模块
Python数据结构常用模块:collections.heapq.operator.itertools heapq 堆是一种特殊的树形结构,通常我们所说的堆的数据结构指的是完全二叉树,并且根节点的值小 ...
- python 常用第三方模块
除了内建的模块外,Python还有大量的第三方模块. 基本上,所有的第三方模块都会在https://pypi.python.org/pypi上注册,只要找到对应的模块名字,即可用pip安装. 本章介绍 ...
- python常用小模块使用汇总
在写代码过程中常用到一些好用的小模块,现整理汇总一下: 1.获取当前的文件名和目录名,并添到系统环境变量中. file = os.path.abspath(__file__) ...
- Python 常用系统模块整理
Python中的常用的系统模块中部分函数等的整理 random: 随机数 sys: 系统相关 os: 系统相关的 subprocess: 执行新的进程 multiprocessing: 进程相关 th ...
随机推荐
- scrapy的pipline的不同操作
针对json文件 import json import os class SpyOppoPipeline: def __init__(self): self.file = open('曹姐.json' ...
- 云小课|MRS数据分析-通过Spark Streaming作业消费Kafka数据
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:Spark Str ...
- leaflet动态加载/手动绘制(圆、多边形)demo
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3 ...
- mkdir 08 权限居然和mkdir 07不同
在用fileZilla软件往Ubuntu传输文件时,提示没有权限,当时就蒙了,往文件夹复制内容怎么还扯到权限了?ls -l一看,mkdir 08 权限居然和mkdir 07不同,记录下来. 原因:在嵌 ...
- RESTful风格与Spring注解
RESTfulL是一种网络应用程序的设计风格和开发方式,即接口请求方式和路径的一种风格. 普通风格: localhost:8080/add?a=1&b=2 RestFul风格: localho ...
- 【FPGA学习】MATLAB与FPGA实现FIR滤波器
本篇博客记录一下在matlab设计和在FPGA平台实现FIR滤波器的方法,平台是Xilinx的ZYNQ 参考: AMBA AXI-Stream Protocol Specification 使用mat ...
- N63050 第十二周运维作业 ansible常用模块介绍未完成
就业和全程班本周学习内容: 二十三.Mysql数据库四 1.MySQL主从复制实现和故障排错(50分钟) 2.MySQL级联复制和主主复制架构实现(51分钟) 3.MySQL的半同步复制和复制过滤器( ...
- Linux编辑器
Vim 安装: yum install vim $ vim test.cnf --打开文件 命令模式: i --切换到输入模式,以输入字符 : --切换到底线命令模式,以在最底一行输入命令 输入 ...
- python 搭建自启动FTP服务器,编译后exe后个人随时可用,非常方便
import win32apiimport win32conclass AutoRun: """ itemname:要添加的项值名称 , path:要添加的exe路径绝对 ...
- Jsonhelper类
public static class JsonHelper { #region json转对象 /// <summary> /// json转对象 /// </summary> ...