python中sys模块是什么意思,python的sys库用法
Collections是Python内置的集合模块,它提供了许多有用的集合类和方法。
这可以理解为一个容器,提供了Python标准内置容器dict、list、set和tuple的替代品。
importcollectionsprint(dir(collections))(#[ chain map , Counter , Mapping , MutableMapping , ordered ding ) _ Link , _OrderedDictItemsView ,_OrderedDictKeysView ,_OrderedDictValuesView , __all__,).path_ 、__path__ 、_iskeyword 、_itemgetter 、_nt_itemgetters 、_proxy 、_ recu recurd
2.常用方法有效添加或删除容器,如命名namedtuple()的tuple子类的工厂函数deque(双向list,list),使键没有defaultdict值的搜索字典时快速追加并两端弹出的有序字典指插入顺序计数器:计数函数http://www .新浪网
named collections . named tuple(typename,field_names,*,rename=False,defaults=None,module=None)) typename可以是类似“x”和“y”的序列,也可以添加到“x,y”或“xy”rename:python 3.1中。如果rename为true,无效域名将自动转换为位置名。比如“ABC”、“def”、“GHI”、“ABC”转换成“ABC”、“1”、“GHI”、“3”,去掉关键字DEF和重复的域名ABC。默认值:添加python 3.7。默认值可以是“无”或默认的可重复对象。如果您需要显示具有默认值的字段以及其他没有默认值的字段,默认值将应用于最右边的参数。例如,如果域名[x x , y 和 z]和缺省值[1,2],那么x必须指定参数值,y是缺省值1,z是缺省值2。模块:添加python 3.6。如果定义了模块值,则设置命名元组的__module__属性值。1. namedtuple() 命名元组
比如我想定义点(x,y)。这可以命名为点。
”“没有人回答研究中的问题吗?建立Python学习交流QQ群:寻找531509025杂志伙伴,互相帮助。群里有很好的视频学习教程和PDF电子书! importcollectionspoint=collections . named tuple points ,[x , y ] ] P1=point (2,3 ) P2=point ) 4,
Print(isinstance(P1,点))# trueprint (isinstance (P1,元组))true表明它是点类型,也是元组类型。
使用_make来赋值
P1。_ make(a)print(P1)# points(x a=[11,y=3)使用_replace来更改值。
P1。_ replace (x=5)打印(P1)点(x=5,y=3)2。德雀双队列参数
Collections.deque([iterable[,maxlen]])使用append方法从左到右初始化,并通过iterable)数据迭代对象。如果itera
Ble,则新队列为空。
Iterable:迭代对象,可以是字符串或列表等迭代对象。Maxlen: Maxlen未指定或无,deque可以增长到任何长度。否则,deque被限制为指定的最大长度。一旦长度有限的deque满了,当添加新的条目时,另一端也会弹出相同数量的条目。使用
没有人回答研究中的问题?边肖创建了一个Python学习交流QQ群:531509025,寻找志同道合的朋友互相帮助。群里还有很好的视频学习教程和PDF电子书! from collections import dequeq=deque([ a , b , c],maxlen=10) #添加一个元素q . append( d )print(q)# deque([ a , b , c , d Maxlen=10)#删除一个元素print(q . pop left())# a print(q)# deque([ b , c , d],Maxlen=10)# extend queue q . extend([ I , j])从左侧打印。I , j],maxlen=10)# find下标print(q . index( c )# 1 #移除第一个 d q . remove( d )print(q)# deque([ b , c , I maxlen=10)# reverse q . reverse()print(q)# deque([ j , I , c , b],Maxlen=10)#最大长度print(q.maxlen) # 10所有方法
Append(x):在右端添加x。Appendleft(x):在左端添加x。Clear():删除所有元素,使它们的长度为0.copy():创建一个浅层副本。3.5新版本功能。count(x):计算deque中等于x的元素的个数。3.2新版本功能。extend(iterable):通过在iterable参数中添加元素来扩展deque的右侧。Extendleft(iterable):通过在iterable参数中添加元素来扩展deque的左侧。注意,当添加left时,结果中iterable参数的顺序将反向添加。Index(x[,start[,stop]]):返回第x个元素(从start开始计算,在stop之前)。返回第一个匹配项,如果没有找到,则引发ValueError。3.5新版本功能。insert(i,X):在位置I插入X。如果插入将导致有限长度deque超过长度maxlen,将引发IndexError。3.5新版本功能。pop():移除并返回一个元素,即deque最右边的元素。如果没有元素,将引发IndexError索引错误。Pop():移除并返回一个元素,即deque最左边的元素。如果没有元素,将引发IndexError索引错误。Remove(value):删除找到的第一个值。如果不是,则引发ValueError。Reverse():以相反的顺序排列deque。返回None。3.2新版本功能。旋转(n=1):向右移动n步。如果n为负,则向左循环。如果deque不为空,则向右一步相当于d.appendleft(d.pop()),向左一步相当于d.append(d.popleft())。Deque对象还提供了一个只读属性:maxlen:Deque Deque的最大大小,如果没有限制,则为None。3.defaultdict默认值字典使用
当键不存在时,返回默认值。
从集合导入DefaultDicTDD=default dict(lambda: not exist )DD[ key 1 ]= ABC print(DD[ key 1 ])# key 1 exists # ABC print(DD[ key 2 ])# key 2不存在,返回默认值# 不存在。使用list作为default_factory,很容易将序列作为键值对添加到字典中:
没有人回答研究中的问题?边肖创建了一个Python学习交流QQ群:531509025,寻找志同道合的朋友互相帮助。群里还有很好的视频学习教程和PDF电子书! 从集合导入default dictd=default dict(list)s=[( yellow ,1),( blue ,2),( yellow ,3),( blue ,4),( red ,1)]for k,V s: d [k]。append(v)print(d)# default dict(class list ,{yellow: [1,3], blue: [2,4], red: [1]})等价于
d={}s=[(黄色,1),(蓝色,2),(黄色,3),(蓝色,4),(红色,1)]对于s中的k,v:d . set default(k,[])。append(v)print(d) # {yellow: [1,3], blue: [2,4], red: [1]}将default_factory设置为int,可以很好地用于计数。
s= Mississippi d=default dict(int)for k in s:d[k]=1 print(d)# default dict(class int ,{m: 1, i: 4, s: 4, p: 2}) 4.
但是内置的dict类已经有了记住插入顺序的能力(Python 3.7中保证了这个新行为),所以它变得不那么重要了。
使用
Popitem(last=True):有序字典的Popitem()方法移除并返回一个(key,value)键-值对。如果最后一个值为true,则以后进先出的顺序返回键值对;否则,键值对按FIFO先出顺序返回。
没有人回答研究中的问题?边肖创建了一个Python学习交流QQ群:531509025,寻找志同道合的朋友互相帮助。群里还有很好的视频学习教程和PDF电子书! 从集合导入OrderedDictd=OrderedDict(a=1,b=2,c=3,d=4,e=5)print(d) # OrderedDict([(a ,1),( b ,2),( c ,3),( d ,4),( e ,5)])print(d . popitem(last=true))#( e ,5)print(d . popitem(last=false))#( a ,1) print (d) # Ordered Dict ([(b ,2),如果last为false,则将元素移到开头。如果密钥不存在,将触发KeyError。
从集合导入OrderedDictd=OrderedDict(a=1,b=2,c=3,d=4,e=5)print(d) # OrderedDict([(a ,1),( b ,2),( c ,3),( d ,4),( e ,5)])d.move_to_end(key=c ,Last=True)print(d)# Ordered dict([( a ,1),( b ,2),( d ,4),( e ,5),( dCounter Count是Dict的一个子类,特别方便!
使用
字符串
从集合中导入Counter=Counter()for I in sfsadfsdjklgsdla :c[I]=1 print(is instance(c,Counter))# true print(is instance(c,dict))# true print(c)# Counter({ s :4, d: 3, f: 2, a: 2, j: 1, k: 1,G :1 })C2=Counter( asfjslfjsdlfjgkls )print(C2)# Counter({ s :4, d: 3
没有人回答研究中的问题?边肖创建了一个Python学习交流QQ群:531509025,寻找志同道合的朋友互相帮助。群里还有很好的视频学习教程和PDF电子书! from collections import counter c=counter([ red , blue , red , green , blue ])print(c)# counter({ blue :3, red: 2, green: 1}) Elem元素按它们第一次出现的顺序返回。如果元素的计数值小于1,elements()将忽略它。
C=counter (a=4,b=2,c=0,d=-2)print(sorted(c . elements()))#[ a , a , b , b] most _ common如果省略n或无,most _ common()将返回计数器中的所有元素。计数值相等的元素按第一次出现的顺序排序:
c=counter( abracadabra )print(c . most _ common(3))#[( a ,5),( b ,2),( r ,2)]subtract([iterable-or-mapping]):从一个迭代对象或者它像dict.update()但它是一个减法,而不是替换。输入和输出都可以是0或负数。
c=Counter(a=4,b=2,c=0,d=-2)d=Counter(a=1,b=2,c=3,d=4)c . subtract(d)print(c)# Counter({ a :3, b: 0, c: -3, d: -6})
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。