python学习day3:函数,,一、set集合:1.


一、set集合:

1.特点: 访问速度快,去除重复2.set是一个无序且不重复的元素集合3.集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算.例:去重
1     #!/usr/bin/env python2     # -*- encodeing:UTF-8 -*-3     lst=[1,23,5,4,1,5,4]4     print(set(lst)) 输出:[1,23,5,4]

例:交集、差集

 1     #!/usr/bin/env python 2     # -*- encodeing:UTF-8 -*- 3     old_dict ={ 4     "#1":{‘hostname‘:‘c1‘,‘cpu_count‘:2,‘mem_capicity‘:80}, 5     "#2":{‘hostname‘:‘c1‘,‘cpu_count‘:2,‘mem_capicity‘:80}, 6     "#3":{‘hostname‘:‘c1‘,‘cpu_count‘:2,‘mem_capicity‘:80}, 7     } 8     new_dict ={ 9     "#1":{‘hostname‘:‘c1‘,‘cpu_count‘:2,‘mem_capicity‘:800},10     "#3":{‘hostname‘:‘c1‘,‘cpu_count‘:2,‘mem_capicity‘:80},11     "#4":{‘hostname‘:‘c2‘,‘cpu_count‘:2,‘mem_capicity‘:80},12     }13     old=set(old_dict.keys())14     new=set(new_dict.keys())15     updata_set=old.intersection(old)16     del_set=old.symmetric_difference(new)17     add_set=new.symmetric_difference(updata_set)18     print(updata_set)19     print(del_set)20     print(add_set)

二、counter计数1.对字典数据的处理,追踪值出现的次数
1     import collections2     obj=collections.Counter(‘fefheufheuf‘)3     #print(obj)4     #for k in obj.elements():5     # print(k)6     for k,v in obj.items():7     print(k,v) 输出:h 2 f 4 u 2 e 3

三、orderedDict有序字典1.orderdDict是对字典类型的补充,是dict的子类,它记住了内容添加的顺序。2.按照顺序输出列表到字典
1     # -*- encodeing:UTF-8 -*-2     import collections3     d = collections.OrderedDict()4     d[3]=‘A‘5     d[2]=‘B‘6     d[1]=‘C‘7     for k, v in d.items():8     print(k, v)

四、defaultdict默认字典
 1     #!/usr/bin/env python 2     # -*- encodeing:UTF-8 -*- 3     import collections 4     def default_factory(): 5     return‘default value‘ 6     d=collections.defaultdict(default_factory,foo=‘bar‘,ok=‘ok‘) 7     print(‘d:‘,d) 8     print(‘foo=>‘,d[‘foo‘]) 9     print(‘ok=>‘,d[‘ok‘])10     print(‘bar=>‘,d[‘bar‘])

五、deque双向队列deque,(全名double-ended queue)是一种具有队列和栈的性质的数据结构,双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行。
 1     #!/usr/bin/env python 2     # -*- encodeing:UTF-8 -*- 3     import collections 4     d=collections.deque(‘abcdefgh‘) 5     print(‘Deque:‘,d) 6  7     #!/usr/bin/env python 8     # -*- encodeing:UTF-8 -*- 9     import collections10     d=collections.deque()11     d.extend(‘abcdefg‘)12     print(‘extend:‘,d)13     d.append(‘h‘)14     print(‘append:‘,d)15     # add to left16     d1=collections.deque()17     d1.extendleft(range(6))18     print(‘extendleft:‘,d1)19     d1.appendleft(6)20     print(‘appendleft:‘,d1)

六、queue单向队列Queue.Queue类即是一个队列的同步实现,队列长度可为无限或者有限
1     #!/usr/bin/env python2     # -*- encodeing:UTF-8 -*-3     import queue4     q=queue.Queue()5     q.put(‘123‘)6     q.get(‘4545‘)7     print(q)

七、可命名元组根据nametuple可以创建一个包含tuple所有功能以及其他功能的类型
1     #!/usr/bin/env python2     # -*- encodeing:UTF-8 -*-3     import collections4     MytupleClass= collections.namedtuple(‘MytupleClass‘,[‘x‘,‘y‘,‘z‘])5     obj =MytupleClass(11,22,33)6     print(obj.x)7     print(obj.y)8     print(obj.z) 输出:11 22 33

八、深浅拷贝切片技术应用于所有的序列,包括:列表、字符串、元祖 ,但切片不能应用于字典。对字典只能使用*.copy()方法或*.deepcopy()方法,深浅拷贝,即可用于序列,也可用于字典
 1     n1={‘k1‘:8,‘k2‘:787,‘k3‘:[2,4]} 2     print(id(n1)) 3     n2=copy.copy(n1) 4     print(id(n2)) 5     n3=copy.deepcopy(n1) 6     print(id(n3))  7  8     n4={‘cpu‘:[90,],‘mem‘:[80,],‘disk‘:[80]} 9     n5 =copy.deepcopy(n4)10     print(n5)11     n5[‘cpu‘][0]=6012     print(n5) 输出:{‘mem‘: [80], ‘disk‘: [80], ‘cpu‘: [90]} {‘mem‘: [80], ‘disk‘: [80], ‘cpu‘: [60]}

九、函数1.函数定义:使用def
1     def函数名():2     函数体3     函数名()
1 #!/usr/bin/env python2 def hanshu():3 num1=84 num1+=85 print(num1)6 hanshu() 输出:16
2.默认参数
1     def wa(a1,a2=232,a3=24):#默认参数必须放在最后2     print(a1,a2,a3)3     wa(a1=53,a2=989)
3.动态参数
 1     def show(*arg): 2     print(arg,type(arg)) 3     show(78,98) 4  5     def show(**args): 6     print(args,type(args)) 7     show(k1=32,k2=898,k3=343) 8  9     def show (*args,**kwargs):10     print(args,type(args))11     print(kwargs,type(kwargs))12     show(34,43,k1=45,k2=45,)
4.内置函数all(),any() #使用bool判断真假 all()bin() 二进制 ord(‘A‘) 字符转换成数字 chr(78)数字转换成字符 random.randint(1,99)随机数callable用法(f=lambda x:x+1 callable(f))#判断真假enumerate用法
1     l1={‘alvin‘,‘boy‘,‘eric‘}2     for i,item in enumerate(l1,1):3     print(i,item) 输出:1 alvin 2 eric 3 boy

map与filte

技术分享技术分享5.f.tell() #查看当前指针位置 f.seek()#指定当前指针位置

python学习day3:函数

相关内容

    暂无相关文章

评论关闭