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)

 

posted @ 2017-07-10 11:10  wjwdive  阅读(287)  评论(0编辑  收藏  举报