【备战蓝桥杯】探索Python内置标准库collections的使用 |
您所在的位置:网站首页 › dcollection皮包 › 【备战蓝桥杯】探索Python内置标准库collections的使用 |
🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 💫个人格言:“没有罗马,那就自己创造罗马~” Our attitude toward life determineslife's attitude towards us. 文章目录 标准库collectionsCounter:计数器Dequeue:双端队列defaultdict:有默认值的字典OrderedDict:有序字典 标准库collectionscollections这个标准库中包含了很多的容器,这个库里面的工具是基于我们学过的容器如字典,元组扩展的。 Counter:计数器 Counter本身就是一个字典无计数器的技术方法: a = ["apple","banana","apple","cat","cat","cat","dog"] b = {} for x in a: b[x] = b.get(x,0) + 1 print(b)运行结果: 用计数器的技术方法: from collections import Counter a = ["apple","banana","apple","cat","cat","cat","dog"] b =Counter(a) print("type(b) = ",type(b)) print("b = ",b)运行结果: 常见用法: from collections import Counter a = Counter() #空Counter print(a) a = Counter("Hello World") #统计每个字符 print(a) a = Counter([1,2,3,1,2]) #统计每个元素出现次数 print(a)运行结果: 数学运算: from collections import Counter c = Counter(a=3,b=1) d = Counter(a=2,b=2) print("c+d =",c+d) print("c-d =",c-d) print("c&d =",c&d) #与运算,取c和d的交集 print("c|d =",c|d) #并集运行结果: Dequeue:双端队列 大部分操作和list类似,但是删除和插入操作比list更高效 方法功能append(x)添加x 到右端appendleft(x)添加x到左端pop()移去并且返回一个元素,deque 最右侧的那一个。popleft()移去并且返回一个元素,deque 最左侧的那一个。insert(i, x)在位置i插入X。extend(iterable)扩展deque的右侧,通过添加iterable参数中的元素extendleft(iterable)扩展deque的左侧,通过添加iterable参数中的元素。 注意,左添加时,在结果中iterable参数中的顺序将被反过来添加。remove(value)移除找到的第一个 value。clear()清空copy()拷贝count(x)计算deque中元素等于x的个数index(x[,start[,stop]])返回x在deque中的位置(在索引start之后,索引stop之前)reverse()将deque逆序排列。rotate(n=1)向右循环移动n步。如果n是负数,就向左循环。maxlenDeque的最大尺寸,如果没有限定就是None。 from collections import deque a = deque([1,2,3,4,1,4,2,4]) print("a = ",a) #将整个列表向右挪一位 a.rotate(1) print("a = ",a) #a = deque([4, 1, 2, 3, 4, 1, 4, 2]) #将整个列表向左挪两位 a.rotate(-2) #a = deque([4, 1, 2, 3, 4, 1, 4, 2]) defaultdict:有默认值的字典 from collections import defaultdict s = [('yellow',1),('blue',2),('yellow',3),("blue",4),("red",1)] d = defaultdict(list) for k,v in s: d[k].append(v) print(d)运行结果: OrderedDict:有序字典 from collections import OrderedDict data = [("a",1),("b",2),("c",3)] d = dict(data) print(d) while len(d) != 0: print("删除的元素为:",d.popitem()) print("d = ",d)
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |