1.day 05 内容回顾
dict:dic = {'name':'alex'}
增:dic['age']=21#存在就覆盖
dic.setdefault(),没有就增加
删除:
pop()按照key删除,有返回值
clear 清空
del dic['name']按健删除,没有返回值
popitem()随机删除
改 update
查
dic.keys()打印所有健
dic.values()打印所有值
dic,items()打印所有键值对
for k,v in dic.items()
print(k,v)
dic.get(key,None)
2.作业讲解
1 '''
2 3、元素分类
3 有如下值li= [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
4 即: {'k1': 大于66的所有值列表, 'k2': 小于66的所有值列表}
5 '''
6 # li= [11,22,33,44,55,66,77,88,99,90]
7 # dic={}
8 # l1=[]
9 # l2=[]
10 # for i in li:
11 # if i==66:
12 # continue
13 # if i>66:
14 # l1.append(i)
15 # else:
16 # l2.append(i)
17 # dic.setdefault("k1",l1)
18 # dic.setdefault("k2",l2)
19 # print(dic)
20
21 '''
22 4、输出商品列表,用户输入序号,显示用户选中的商品
23 商品 li = ["手机", "电脑", '鼠标垫', '游艇']
24 要求:1:页面显示 序号 + 商品名称,如:
25 1 手机
26 2 电脑
27 …
28 2: 用户输入选择的商品序号,然后打印商品名称
29 3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。
30 4:用户输入Q或者q,退出程序。
31
32 '''
33 while 1:
34 li = ["手机", "电脑", '鼠标垫', '游艇']
35 for i in li :
36 print('{} {}'.format(li.index(i)+1,i))
37 num_of_choice = input('请输入选择的商品序号:')
38 if num_of_choice.isdigit():
39 num_of_choice = int(num_of_choice)
40 if num_of_choice>0 and num_of_choice<=len(i):
41 print(li[num_of_choice-1])
42 else:print('请输入有效数字')
43 elif num_of_choice.upper()=='Q':break
44 else:print('请输入数字')
3.小知识点总结
1 '''
2 pythoon2 python3的区别
3
4 '''
5 #python2
6 #print() print'abc'
7 #range() xrangge()生成器
8 #raw_input()
9
10 #python3
11 #ptint(abc)
12 #range()
13 #input()
14
15 # =(赋值) ==(比较值是否相等) is 比较,比较就是内存地址
16 # li1 = [1,2,3]
17 # li2=li1
18 # print(id(li1),id(li2))
19 # id()#测出内存地址
20
21 #数字 字符串 小数据池
22 #数字的范围 -5--256
23 #字符串:1,不能有特殊字符
24 # 2,s*20还是同一个地址,s*21以后都是两个地址
25 # i1 = 6
26 # i2 = 6
27 # print(id(i1),id(i2))
28
29
30 #剩下的 list dict tuple set
31 #l1 = [1,]
32 #l2 = [1,]
33 #print(l1 is l2)
34
35
36 # s = 'alex'
37 # s1 = b'alex'
38 # print(s,type(s))
39 # print(s1,type(s1))
40
41 # s = '中国'
42 # print(s,type(s))
43 # s1 = b'中国'
44 # print(s1,type(s1))
45
46 # s1 = 'alex'
47 # # encode 编码,如何将str --> bytes, ()
48 # # s11 = s1.encode('utf-8')
49 # s11 = s1.encode('gbk')
50 # print(s11)
51 s2 = '中国'
52 s22 = s2.encode('utf-8')
53 s22 = s2.encode('gbk')
54 print(s22)
4.编码(py3)
1 ascii
2 A : 00000010 8位 一个字节
3
4 unicode
5 A: 00000000 000000001 00000010 00000100 32位四个字节
6 中:00000000 000000001 00000010 00000110 32位四个字节
7 gdk A:00000110 8位一个字节
8 中:000000001 00000010 00000110 24位三个字节
9
10 1.各个编码之间的二进制,是不能互相识别的,会产生乱码
11 2.文件的存储,传输,不能是unicode存储的
12
13 py3:
14 str 在内存中是用unicode编码
15 bytes类型
16 对于英文:
17 str: 表现形式: s = 'alex'
18 编码方式:010101010 unicode
19 bytes:表现形式:s = b'alex'
20 编码方式:000101010 utf-8 gbk
21 对于中文:
22 str: 表现形式: s = 'alex'
23 编码方式:010101010 unicode
24 bytes:表现形式:s = b'xe91e91e01e21e31e32'
25 编码方式:000101010 utf-8 gbk
1 # s = 'alex'
2 # s1 = b'alex'
3 # print(s,type(s))
4 # print(s1,type(s1))
5
6 # s = '中国'
7 # print(s,type(s))
8 # s1 = b'中国'
9 # print(s1,type(s1))
10
11 # s1 = 'alex'
12 # # encode 编码,如何将str --> bytes, ()
13 # # s11 = s1.encode('utf-8')
14 # s11 = s1.encode('gbk')
15 # print(s11)
16 s2 = '中国'
17 s22 = s2.encode('utf-8')
18 s22 = s2.encode('gbk')
19 print(s22)