python3学习笔记(3)_dict-set
1 # !/usr/bin/env python3 2 # -*- coding:utf8 -*- 3 4 #dict 和 set 5 #dict dictionary 用于存放 键值对的, 无序,key 不可变 6 #姓名 年龄的字典 7 d = {"hanmeimei":21, "lilei":23, "jim":23} 8 print(d) 9 #通过 键(hanmeimei) 取到 值 21 10 print(d['hanmeimei']) 11 12 #如果 取用不存在的键 ,会报错 可以用 in 方法先判断键是否存在, 13 print('edison' in d) 14 15 #也可用 dict提供的get方法,如果不存在,默认返回None,也可以指定一个错误的返回值 16 d.get('edison')#交互式命令 不显示结果 17 d.get('edison',-1) 18 19 #删除dict中的一个元素 20 d.pop("jim") 21 22 # dict 和 list 的比较 23 # dict 1、优点:查找和插入速度快,耗时不会随着key的增加而增加 2、缺点:需要占用大量的内存,内存浪费多 24 # list 1、优点:暂用空间相对较小,花费内存小。2、缺点:查找和插入的时间随着元素的增加而增加 25 26 # set 和 dic 类似,只是不存储value, key同样不能重复 27 s = set([1,2,3]) 28 print("s : " ,s) 29 #set 会自动过滤掉重复的元素 30 s2 = set([1,1,2,2,3,3]) 31 print("s2 : " , s2) 32 # 通过add()方法给set添加元素 33 s.add(4) 34 print("s : " ,s) 35 #可以通过 remove方法删除元素 36 s.remove(1) 37 print("s : " , s) 38 39 #set 可以看做是 数学意义上的 无序不重复元素 的集合 可以做交并操作 40 s2 = set([4,5,6]) 41 print("s & s2 : " , s & s2) 42 print("s | s2 : " , s | s2) 43 44 #tuple 也是不可变对象,tuple对象放入dict 好像不可以啊 45 t1 = tuple(1,) # t1 = tuple(1,)TypeError: 'int' object is not iterable 46 t2 = tuple([2, 3]) 47 t3 = tuple("1")#这样也不可以, 看来tuple虽然是不可变对象,但不可作为dict的值 48 49 d3 = {"t3" : t3, "t2" : t2} 50 print("t3 : ",t3, "t2 : ", t2 ,"d3 : ",d3)