首页 > 编程知识 正文

全局描述符表,db2查看编码格式

时间:2023-05-03 05:38:33 阅读:113783 作者:382

import collections# https://www.cnblogs.com/lwp-搞怪的斑马666/p/8331508.htmlimport timeprint(time.ctime())print('hello Jupyter!')Sat May 8 09:17:53 2021hello Jupyter!# 一、Counter统计元素的个数,并以字典形式返回{元素:元素个数}str1="aaabbcccdff"c1 = collections.Counter(str1)print("c1",c1)# 1. most_common:将元素出现的次数按照从高到低进行排序,并返回前N个元素,# 若多个元素统计数相同,按照字母顺序排列,N若未指定,则返回所有元素c2 = c1.most_common(3)print("c2",c2)c1 Counter({'a': 3, 'c': 3, 'b': 2, 'f': 2, 'd': 1})c2 [('a', 3), ('c', 3), ('b', 2)]# 2.elements:返回一个迭代器,元素被重复多少次,在迭代器中就包含多少个此元素,# 所有元素按字母序排列,个数<1的不罗列c2 = collections.Counter(a=2,b=1,c=3,d=1)c3 = list(c2.elements())print(c3)['a', 'a', 'b', 'c', 'c', 'c', 'd']# 3. update:增加元素的重复次数,update本身是没有返回值,只能赋值给其他变量c1.update("a")print(c1)Counter({'a': 7, 'c': 3, 'b': 2, 'f': 2, 'd': 1})# 4.subtract:减少元素重复次数,跟update相反c1.subtract("a")print(c1)Counter({'a': 5, 'c': 3, 'b': 2, 'f': 2, 'd': 1})# 二、orderedDict有序字典,继承了dict的所有功能,dict是无序的,# orderedDict刚好对dict作了补充,记录了键值对插入的顺序,是有序字典dic = collections.OrderedDict({"name":"tom","age":18,"sex":"man"})print(dic)OrderedDict([('name', 'tom'), ('age', 18), ('sex', 'man')])# 1.清空字典dic.clear()print(dic)OrderedDict()# 2. popitem:有序删除,类似于栈,按照后进先出的顺序依次删除,last是bool值,默认True# dic.popitem(last=False)dic.popitem(last=True)print(dic)OrderedDict([('name', 'tom'), ('age', 18)])# 3.pop:删除指定键值对dic.pop(key="name")print(dic)OrderedDict([('age', 18), ('sex', 'man')])# 4. move_to_end:将指定键值对移到最后位置,可以用last指定前后dic.move_to_end(key="sex",last=True)print(dic)OrderedDict([('name', 'tom'), ('age', 18), ('sex', 'man')])# 5. setdefault:设置默认值,默认为None,也可指定值dic.setdefault("score",80)print(dic)OrderedDict([('name', 'tom'), ('age', 18), ('sex', 'man'), ('score', 80)])# 6. update:更新字典,有则更新,无则添加dic.update({"score":90})print(dic)OrderedDict([('name', 'tom'), ('age', 18), ('sex', 'man'), ('score', 90)])# 三、默认字典(defaultdict):设置values默认类型,如list、tupledic1=collections.defaultdict(list)dic1["course"].append("En")dic1["course"].append("Cn")print(dic1)defaultdict(<class 'list'>, {'course': ['En', 'Cn']})# 四、可命名元组(namedtuple): 可通过名称访问元组中的元素,提高代码可读性TupleName=collections.namedtuple('TupleName',['a','b','c']) #通过namedtuple自定义一个TupleName类obj=TupleName(11,22,33) # 通过类创建对象objprint(obj.a) # 通过名称访问元组中的元素print(obj.b)print(obj.a * obj.c)# 通过名称访问元组中的元素并进行计算1122363# 五、双向队列(deque):类似于list,允许两端操作元素,deq=collections.deque('abcd')print(deq)deque(['a', 'b', 'c', 'd'])# 1. append:从队列右侧添加元素deq.append(11)print(deq)deque(['a', 'b', 'c', 'd', 11])# 2.appendleft:从队列左侧添加元素deq.appendleft(12)# 3.clear:清空队列deq.clear()# 4. count:统计队列中元素个数num = deq.count('a')print(num)1# 5.extend:从队列右侧扩展deq.extend([22,33])print(deq)deque([12, 'a', 'b', 'c', 'd', 11, 22, 33])# 6.extendleft:从队列左侧扩展deq.extendleft({'k1':'v1','k2':'v2'}) # 扩展类型为dict,取keysprint(deq)deque(['k2', 'k1', 12, 'a', 'b', 'c', 'd', 11, 22, 33])# 7.index:取元素索引位置deq.index("k1")1# 8.insert:在队列任意位置插入值deq.insert(1,11)print(deq)deque(['k2', 11, 'k1', 12, 'a', 'b', 'c', 'd', 11, 22, 33])# 9. pop:从队列右侧移除值deq.pop()# 10.popleft:从队列左侧移除值deq.popleft()# 11. remove:移除指定值deq.remove('k2')# 12.reverse:将队列中的元素反转deq.reverse()print(deq)deque([33, 22, 11, 'd', 'c', 'b', 'a', 12, 'k1', 11, 'k2'])# 13. rotate:移动队列中的元素,若n<0,则将队列最左侧的元素依次移动至最右侧,反之,n>0,将队列最右侧元素移动至最左侧deq.rotate(-2)print(deq)deque([11, 'd', 'c', 'b', 'a', 12, 'k1', 11, 'k2', 33, 22])

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。