0003-20180422-自动化第三章-python基础学习笔记
3章
内容回顾:
1. 计算机组成
2. 程序编译器
3. 变量
4. 条件
5. 循环
6. py2与py3区别
- 默认编码,
- 除法,
- input ,raw_input
7. 位,字节关系
8. 运算符:
- and or
- in not
- py2 除法特殊代码
- += -=
9. 编码
汉字在utf-8里位3个字节,24位;汉字在GBK里是两个字节,16位
ascii --> unicode(4个字节,32位表示) ->(优化) utf-8/utf-16/utf-32
10. 字符串格式化
tpl = "asdfa&s,asdf%d" %("二哥", 666,)
问题:
tpl = "我是%s",年龄%d,学习进度100%%" %('张勤学',99)
今日内容:
- 数据类型
- 整数(int类) v = 1 ----擅长计算
- v = 1
- v.bit_length()
- 布尔值(bool类) v = True -----擅长真或假
- 0 "" 为False,其他为True
- v = 2 or 1 ----V的值是2
- 字符串(str类) 引号引起来 "1" v = "1"
- 类提供的功能:
- 变大、小写
- 去除空白
- 替换
- 分割(分割后是列表类型)
- 首字母大写
PS:字符串本身不变化
- 公共功能:
- 长度
- 索引(只能取值)
- for循环
"张勤学,二个,成绩,XXX,信息,"
[“郑勤学,“二个”]
- 列表(list类) v = ["XX",“OO”, "666"] #---存取多个值比较方便
- 类提供功能:
- 追加
- 插入
PS:列表本身发生变化
- 公共功能:
- 长度
- 索引(取值,修改,删除) 特殊的:v[0:2] = ["asdf",]
- for循环
v[2]
v[1] = "孙骑兵"
- 元组(tuple类) v = ("XX",“OO”, "666") #PS:----元素不可以被修改
- 类提供功能:
- 无
- 公共功能:
- 长度
- for循环
- 索引(只能取值)
- 字典(dict类)-----无序的 v = {"name":"张勤学","age":18}
- 类提供的功能:
- get
- 公共功能:
- 长度
- 索引(取值,删除,修改)
- for循环
- for a in v.keys()
- for a in v.values()
- for a,b in v.items()
v = "郑勤学,18" #-----字符串表示姓名年龄
v = ["郑勤学",18] #-----列表表示姓名年龄
v = {
"name":"张勤学",
"age":18
} #-----字典表示姓名年龄
v['name'] #指名字
v['age'] #指年龄
===> 相同类的值(指定类的对象)具有相同的功能,功能保存在类中(只有一份)
今日作业:
内容整理
=============================================脚本=======================================
字符串类中的功能脚本:
1 ###############################str类中为当前对象提供的功能######################### 2 #str 3 # v1 = "alEx" 4 5 #1. 变大写 6 # value = v1.upper() 7 # print(v1,value) 8 9 10 #2,.变小写 11 # value = v1.lower() 12 # print(v1.value) 13 14 15 #3. 首字母变大写 16 # value = v1.capitalize() 17 # print(v1,value) 18 19 #4. 去除收尾空格 20 # v1 = " asdfasdf " 21 # print(v1) 22 23 24 # v1 = " asdfasdf " 25 # value = v1.strip() 26 # print(v1,value) 27 28 """ 29 name = input("请输入用户名:") 30 if name == 'alex': 31 print('登录成功') 32 """ 33 34 """ 35 name = input("请输入用户名:") 36 value = name.strip() 37 if value == 'alex': 38 print('登录成功') 39 """ 40 41 """ 42 #去除左边空格 -----去除指定空格-----左边或右边 43 44 name = input("请输入用户名:") 45 value = name.lstrip() 46 if value == 'alex': 47 print('登录成功') 48 49 """ 50 51 """ 52 去除右边空格 53 name = input("请输入用户名:") 54 value = name.rstrip() 55 if value == 'alex': 56 print('登录成功') 57 """ 58 59 60 #7. 替换 61 """ 62 v1 = "ASCII第一次以规范标准的型态发表是在1967年标准,最后一次更新则标准是在1986年,至今为标准止共定义了128个字符,其中33个字符无法显示" 63 64 # value = v1.replace("标准", "**") 65 # print(value) 66 67 68 #只替换第1个标准,后面的不替换 69 value = v1.replace("标准", "**",1) 70 data = value.replace('第一次','#') 71 print(data) 72 """ 73 74 #8. 分割: 75 """ 76 v1 = "ASCII第一次以规范标准的型态发" 77 value = v1.split('第一次') #分割之后是列表类型 78 print(value) 79 """ 80 """ 81 v1 = "ASCII第一次以规范标准的型态发以规范标准的型态以规范标准的型态" 82 value = v1.split('标准') #分割之后是列表类型 83 print(value) 84 """ 85 86 """ 87 v1 = "ASCII第一次以规范标准的型态发以规范标准的型态以规范标准的型态" 88 value = v1.split('标准',2) #分割之后是列表类型 89 print(value) 90 """ 91 92 #9. 判断当前字符串中是否全部都为数字 93 """ 94 v = "abc123fsdf" 95 for item in v: 96 print(item) #item = "a", item = "b" 97 """ 98 99 """ 100 v = "123" 101 val = v.isdecimal() 102 print(val) 103 """ 104 105 """ 106 v = "a123" 107 val = v.isdecimal() 108 print(val) 109 """ 110 111 #统计字符串中有多少个数字?-------"abc01234fsdf" 112 """ 113 count = 0 114 v = "abc01234fsdf" 115 for item in v: 116 if item.isdecimal(): 117 print(item) 118 count += 1 119 print(count) 120 """ 121 122 #重点重点重点:原值不变 123 124 ###################公共功能############### 125 126 # 1.计算当前字符串长度 127 128 """ 129 v = "徐芳名sdf" 130 value = len(v) 131 print(value) 132 133 """ 134 135 """ 136 name = input(">>>") 137 value = len(name) 138 print(value) 139 """ 140 141 #取首字符或第几个字符 142 #2. 根据“索引” “下标” 143 # - 单个值:v[0] 144 # - 多个值:v[起始位置:结束位置] 145 # - 多个值: v[起始位置:结束位置:步长] 146 # PS: -1 表示最后 147 148 # 取第一个字符-----取单个字符 149 # v = "ASCII第一次以规范标准的型态发" 150 # value = v [0] 151 # print(value) 152 153 #取倒数第3个字符 154 # v = "ASCII第一次以规范标准的型态发" 155 # value = v [-3] 156 # print(value) 157 158 159 #动态计算取最后一个字符 160 # v = "ASCII第一次以规范标准的型态发" 161 # le = len(v) - 1 162 #-1表示最后一个字符 163 # value = v [le] 164 # print(value) 165 166 #取一部分字符,取从0到第几个之前的字符------连续字符 167 # v = "ASCII第一次以规范标准的型态发" 168 # value = v [0:5] # 0 1 2 3 4 169 # print(value) 170 171 #取某两个之间的字符 172 # v = "ASCII第一次以规范标准的型态发" 173 # value = v [4:5] 174 # print(value) 175 176 #取从第几个开始到结尾的字符 177 # v = "ASCII第一次以规范标准的型态发" 178 # value = v [4:] 179 # print(value) 180 181 # #取从第几个开始到最后一个之间的字符 182 # v = "ASCII第一次以规范标准的型态发" 183 # value = v [4:-1] 184 # print(value) 185 186 187 #取从第几个开始到第几个之间的字符,中括号中第3个数字表示步长,表示每隔几取一个 188 # v = "ASCII第一次以规范标准的型态发" 189 # value = v [1:15:3] 190 # print(value) 191 192 193 #题 : v = "ASCII第一次以规范标准的型态发" 连续将每个字符大印出来 194 """ 195 v = "ASCII第一次以规范标准的型态发" 196 length = len(v) 197 index = 0 198 while True: 199 data = v[index] 200 print(data) 201 index += 1 202 if index == length: 203 break 204 print(data) 205 """ 206 207 """ 208 v = "ASCII第一次以规范标准的型态发" 209 length = len(v) 210 index = 0 211 while index < length: 212 data = v[index] 213 print(data) 214 index += 1 215 """ 216 217 #3. 循环 218 # 将对象中每个元素,分别循环显示出来 219 """ 220 v = "ASCII第一次以规范标准的型态发" 221 for item in v: 222 print(item) 223 """
上节回顾字符串格式化脚本:
1 # tpl = "我是%s,年龄%d,学习进度100%" %('张勤学',99) 2 # print(tpl) 3 4 5 #占位符只有格式化时才有意义 6 # tpl = "我是%s,年龄%d,学习进度100%" 7 # print(tpl) 8 9 10 # tpl = "我是%s,年龄%d,学习进度100" %('张勤学',99) 11 # print(tpl) 12 13 14 #如果想要%,需要写两个% 15 tpl = "我是%s,年龄%d,学习进度100%%" %('张勤学',99) 16 print(tpl)
int整数类脚本:
1 #int 2 # v1 = 1 3 # v2 = 23 4 5 6 7 #前戏 8 # 十进制 0 1 2...9 9 #八进制 0 1 2 ..7 10 10 #二进制 0 1 10 11 100 11 12 # v = 11 在计算机里是怎么存的? 13 # ascii 00110001 00110001 14 15 # v1 = 11 16 # data = v1.bit_length() 17 # print(data) 18 #本质上的内部存储:00110001 00110001 19 # 11 -> 20 21 #二进制 八进制 十进制 十六进制 22 # 0 0 0 0 23 # 1 1 1 1 24 # 10 2 2 2 25 # 11 3 3 3 26 # 100 4 4 4 27 # 101 6 6 6 28 # 111 7 7 7 29 # 1000 10 7 8 30 # 1001 11 9 9 31 # 1010 12 10 A 32 # 1011 13 11 B 33 # 1100 14 12 C 34 # 1101 15 13 D 35 # 1110 16 14 E 36 # 1111 17 15 F 37 # 10000 20 16 10 38 39 ########################################1个需要注意 40 v1 = 16 41 #当前十进制用二进制表示时,最少使用的位数 42 data = v1.bit_length() 43 print(data) 44 45 #str 46 v1 = "alex" 47 48 # new_v1 = v1.upper() 49 # print(v1) 50 # print(new_v1) 51 52 53 # new_v1 = v1.capitalize() 54 # print(v1) 55 # print(new_v1)
布尔类脚本:
1 v1 = True # 1 2 v2 = False # 0
整数、布尔值、字符串之间转换脚本:
1 #int 8 9 2 #bool True False 3 #str "sdf" "7" ----只有字符串可以循环取值 4 5 6 #加法计算器 7 # v1 = input("请输入第一个值:") 8 # v2 = input("请输入第二个值:") 9 # v3 = int(v1) + int(v2) # 通过int将字符串转换为整数 10 # print(v3) 11 12 #字符串--> 整数 13 14 # v = True 15 # val = int(v) 16 # print(val) 17 18 19 # v = False 20 # val = int(v) 21 # print(val) 22 23 #布尔值-->整数 int(值) 24 #整数,布尔值----> 字符串 str(值) 25 # 整数,字符串 ----布尔 bool(值) 26 # - 0 False ,其他都为True 27 # - 字符串和空格都为True,只有不填时才为False 28 29 # v = 8 30 # val = str(v) 31 # print(val,type(val)) 32 33 34 # v = True 35 # val = str(v) 36 # print(val,type(val)) 37 38 39 # v = -1 40 # val = bool(v) 41 # print(val,type(val)) 42 43 44 # v = 0 45 # val = bool(v) 46 # print(val,type(val)) 47 48 49 # v = "abdcd" 50 # val = bool(v) 51 # print(val,type(val)) 52 53 54 # v = " " 55 # val = bool(v) 56 # print(val,type(val)) 57 58 59 # v = "" 60 # val = bool(v) 61 # print(val,type(val)) 62 63 # 面试题: 64 # a = 1 == 1 or 2 > 3 65 # print(a) 66 #True 67 68 # a = True or 2 > 3 69 # print(a) 70 #True 71 72 # a = False or 2 > 3 73 # print(a) 74 #False 75 76 # a = 0 or 2 > 3 77 # print(a) 78 #False 79 80 81 # a = 9 or 2 > 3 82 # print(a) 83 #9 84 85 86 # a = "asdf" or 2 > 3 87 # print(a) 88 # asdf 89 90 #总结: 91 # - 互相转换原则 类(值) 92 # -布尔值:只有0 ""为False 93 # -a = 9 or 2 > 3 94 95 # a = 0 or 6 96 # print(a) 97 # 6
列表类功能相关脚本:
1 ####################list类中为当前对象提供的功能##################### 2 3 """ 4 v = [11,22,33,44,"蒋毅"] 5 6 #1. 在列表尾部追加一个值-----修改了本身的值 7 v.append('李俊义') 8 print(v) 9 """ 10 11 """ 12 v = [] 13 while True: 14 name = input("请输入用户名:") 15 if name == 'q': 16 break 17 v.append(name) 18 print(v) 19 """ 20 21 """ 22 v = [] 23 while True: 24 name = input("请输入用户名:") 25 if name == 'q' or name == "Q": 26 break 27 v.append(name) 28 print(v) 29 """ 30 31 """ 32 v = [] 33 while True: 34 name = input("请输入用户名:") 35 if name.lower() == 'q': 36 break 37 v.append(name) 38 print(v) 39 40 """ 41 42 """ 43 #2.在列表中间指定位置插入数据----insert 44 v = [11,22,33,44,"蒋毅"] 45 v.insert(4,"孙骑兵") 46 print(v) 47 """ 48 #3. 反转 49 """ 50 v = [11,22,33,44] 51 #print(v) 52 v.reverse() 53 print(v) 54 """ 55 56 57 58 59 #####################公共功能###################### 60 #1.通过索引取值----和字符串相同 61 # - v[0] 62 # - v[0:4] 63 # - v[0:4:2] 64 #2.计算长度 65 #2.5 替换或修改 66 # 替换: 67 """ 68 v = ["张勤学","成大井","成绩","刘龙华"] 69 v[3] = "吴国胜" 70 print(v) 71 """ 72 73 """ 74 #删除: 75 v = ["张勤学","成大井","成绩","刘龙华"] 76 del v[3] 77 print(v) 78 """ 79 80 """ 81 v = ["张勤学","成大井","成绩","刘龙华","ALEX"] 82 del v[3] 83 del v[2] 84 print(v) 85 """ 86 """ 87 v = ["张勤学","成大井","成绩","刘龙华","ALEX"] 88 del v[2:4] 89 print(v) 90 """ 91 92 """ 93 v = ["张勤学","成大井","成绩","刘龙华","ALEX"] 94 v[2:4] = "吴国胜" 95 print(v) 96 """ 97 """ 98 v = ["张勤学","成大井","成绩","刘龙华","ALEX"] 99 v[2:4] = ["吴国胜"] 100 print(v) 101 """ 102 """ 103 v = ["张勤学","成大井","成绩","刘龙华","ALEX"] 104 v[2:4] = ["吴国胜","狗胜","牛胜"] 105 print(v) 106 """ 107 108 #3.for循环 109 110 """ 111 v = [11,22,33,44,"蒋毅"] 112 print(v[3]) 113 114 115 v = [11,22,33,44,"蒋毅"] 116 val1 = v [3] 117 val2 = v [4] 118 119 val1.bit_length() 120 val2.split("蒋") 121 """ 122 123 """ 124 v = [11,22,33,44,"蒋毅"] 125 val = v[0:5:2] 126 print(val) 127 128 """ 129 130 """ 131 v = [11,22,33,44,"蒋毅"] 132 val = len(v) 133 print(val) 134 """ 135 """ 136 v = [11,22,33,44,"蒋毅"] 137 for i in v: 138 print(i) 139 """ 140 141 #练习: 142 """ 143 v = ["123","孙骑兵",666] 144 # val = len(v) 145 # print(val) 146 val = v[1][1] 147 print(val) 148 print(v[1]) 149 """ 150 """ 151 #将孙奇兵和666替换为王猛 152 v = ["123","孙骑兵",666] 153 v[1:3] = ["王猛",] 154 print(v) 155 """ 156 """ 157 #尾部添加王皓林 158 v = ["123","孙骑兵",666] 159 v.append('王皓林') 160 print(v) 161 """ 162 163 #补充: 164 #1.列表中元素可以是:数字,字符串,布尔值,另外一个列表 165 """ 166 li = [11,22,[6,5,7],33,True,"蒋毅",55] 167 v = len(li) 168 print(v) 169 val = li[2] 170 print(val) 171 """ 172 """ 173 li = [11,22,[6,"88991"],33,True,"蒋毅",55] 174 val = li[2][1][-2] 175 print(val) 176 """ 177 178 """ 179 #将33换成66 180 li = [11,22,[6,"88991"],33,True,"蒋毅",55] 181 li[3] = 66 182 print(li) 183 """ 184 #将7换成77 185 """ 186 li = [11,22,[6,"88991",7],33,True,"蒋毅",55] 187 li[2][2] = 77 188 print(li) 189 190 """ 191 #将88991换成666 192 """ 193 li = [11,22,[6,"88991",7],33,True,"蒋毅",55] 194 li[2][1] = 666 195 print(li) 196 """ 197 198 #字符串中数据替换 199 """ 200 v = "蒋毅" 201 v = v.replace('蒋','江') 202 print(v) 203 """ 204 205 #将"蒋毅"中的蒋替换为江 206 """ 207 li = [11,22,[6,"88991",7],33,True,"蒋毅",55] 208 val = li[5].replace('蒋','江') 209 li[5] = val 210 print(li) 211 """ 212 #简写 213 """ 214 li = [11,22,[6,"88991",7],33,True,"蒋毅",55] 215 li[5] = li[5].replace('蒋','江') 216 print(li) 217 """
元组类相关脚本:
1 #tuple 2 3 #v = (11,'ffff',22,33,44,) 4 5 ###########tuple 类中为当前对象提供的功能########### 6 #无 7 8 ##########公共功能############ 9 #1. 长度 10 11 12 """ 13 v = (11,'ffff',22,33,44,) 14 val = len(v) 15 print(val) 16 """ 17 #索引取值 18 """ 19 v = (11,'ffff',22,33,44,) 20 print(v[0]) 21 print(v[1]) 22 """ 23 #3.for循环 24 """ 25 v = (11,'ffff',22,33,44,) 26 for i in v: 27 print(i) 28 """ 29 30 #4. 元组也可以嵌套 31 """ 32 v = (11,'ffff',22,['蒋毅','二井"'],33,(9,1,2,"alex"),44,) 33 print(v) 34 """ 35 """ 36 v = (11,'ffff',22,['蒋毅','二井"'],33,(9,1,2,"alex"),44,) 37 v[3][1] = "XXXXX" 38 print(v) 39 """ 40 41 #元组的儿子不能替换修改,但元组的孙子可以替换或修改添加 42 v = (11,'ffff',22,['蒋毅','二井"'],33,(9,1,2,"alex"),44,) 43 v[3].append("asdasd") 44 print(v)
字典类功能相关脚本:
1 #####################dict类中为当前对象提供的功能############## 2 3 """ 4 v = { 5 "k1":'v1', # 键值对 6 "k2":'v2', # 键值对 7 } 8 9 val = v.get('k1') 10 print(val) 11 #------取k对应的value值 12 """ 13 14 """ 15 v = { 16 "k1":'v1', # 键值对 17 "k2":'v2', # 键值对 18 } 19 20 val = v.keys() 21 print(val) 22 #------取k的值 23 """ 24 25 """ 26 v = { 27 "k1":'v1', # 键值对 28 "k2":'v2', # 键值对 29 } 30 31 val = v.values() 32 print(val) 33 #-----取value值 34 """ 35 36 """ 37 v = { 38 "k1":'v1', # 键值对 39 "k2":'v2', # 键值对 40 } 41 42 val = v.items() 43 print(val) 44 #-----同时取k和的值 45 """ 46 47 ##########v.keys() v.values() v.items() 一般不单独使用,而是和for循环一起使用 48 49 # 当根据k获取对应的值不存在时,k不存在默认取值为none 50 """ 51 v = { 52 "k1":'v1', # 键值对 53 "k2":'v2', # 键值对 54 } 55 56 val = v.get('k1ffff') 57 print(val) 58 """ 59 60 # 当k值不存在时后面指定什么值,key就为什么值 61 """ 62 v = { 63 "k1":'v1', # 键值对 64 "k2":'v2', # 键值对 65 } 66 67 val = v.get('k1ffff','9999') 68 print(val) 69 """ 70 71 ###################公共功能############### 72 #1.获取字典的长度(键值的个数) 73 """ 74 v = { 75 "k1":'v1', # 键值对 76 "k2":'v2', # 键值对 77 } 78 val = len(v) 79 print(val) 80 """ 81 #2.索引 82 #不推荐(当k不存在时程序报错),推荐使用get取值 83 """ 84 v = { 85 "k1":'v1', # 键值对 86 "k2":'v2', # 键值对 87 } 88 val = v['k1'] 89 print(val) 90 91 """ 92 93 """ 94 v = { 95 "k1":'v1', # 键值对 96 "k2":'v2', # 键值对 97 } 98 val = v.get('k1') 99 print(val) 100 """ 101 102 #对字典进行设置值,如果k存在对应的值,则更新值;如果k不存在,则创建键值对 103 """ 104 v = { 105 "k1":'v1', # 键值对 106 "k2":'v2', # 键值对 107 } 108 #v['k1'] = 666 109 v['kkk1'] = 666 110 val = v.items() 111 print(val) 112 """ 113 114 #字典是无序的,所以不能对字典进行赋值 115 116 #del 删除键值对 117 """ 118 v = { 119 "k1":'v1', # 键值对 120 "k2":'v2', # 键值对 121 } 122 123 del v['k1'] 124 val = v.items() 125 print(val) 126 """ 127 128 #3. for循环 129 """ 130 v = { 131 "k1":'v1', # 键值对 132 "k2":'v2', # 键值对 133 } 134 for i in v: 135 print(i) 136 """ 137 #默认只列所有的k 138 """ 139 v = { 140 "k1":'v1', # 键值对 141 "k2":'v2', # 键值对 142 } 143 for i in v.keys(): 144 print(i) 145 """ 146 147 148 149 150 #只取value 151 """ 152 v = { 153 "k1":'v1', # 键值对 154 "k2":'v2', # 键值对 155 } 156 for i in v.values(): 157 print(i) 158 """ 159 160 #取完整键值对 161 #方法一 162 """ 163 v = { 164 "k1":'v1', # 键值对 165 "k2":'v2', # 键值对 166 } 167 for i in v.keys(): 168 print(i,v[i]) 169 """ 170 171 #分解 172 """ 173 v = { 174 "k1":'v1', # 键值对 175 "k2":'v2', # 键值对 176 } 177 178 val = v['k1'] 179 print(val) 180 """ 181 182 183 #方法二 184 """ 185 v = { 186 "k1":'v1', # 键值对 187 "k2":'v2', # 键值对 188 } 189 for k in v.items(): 190 print(k) 191 #------取值形式为元组模式 192 193 """ 194 195 196 """ 197 v = { 198 "k1":'v1', # 键值对 199 "k2":'v2', # 键值对 200 } 201 for k in v.items(): 202 print(k[0],k[1]) 203 """ 204 205 """ 206 #更简洁的方法 207 v = { 208 "k1":'v1', # 键值对 209 "k2":'v2', # 键值对 210 } 211 for k,v in v.items(): 212 print(k,v) 213 """ 214 215 #4. 字典嵌套 216 """ 217 v = { 218 "k1":123, 219 "k2":"asdf", 220 "k3":True, 221 "k4":[11,22,33], 222 "k5":(1,2,3), 223 "k6":{ 224 'kk1':'vv1', 225 'kk2':'vv2', 226 }, 227 'k7':[1,2,(8,6,2),{"k111":'vvv1'},5] 228 } 229 val = v.items() 230 print(val) 231 232 """ 233 234 #-----删除其中一个键值对 235 """ 236 v = { 237 "k1":123, 238 "k2":"asdf", 239 "k3":True, 240 "k4":[11,22,33], 241 "k5":(1,2,3), 242 "k6":{ 243 'kk1':'vv1', 244 'kk2':'vv2', 245 }, 246 'k7':[1,2,(8,6,2),{"k111":'vvv1'},5] 247 } 248 249 del v['k6']['kk2'] 250 print(v) 251 """ 252 253 #---替换掉k7里面的元组数据 254 """ 255 v = { 256 "k1":123, 257 "k2":"asdf", 258 "k3":True, 259 "k4":[11,22,33], 260 "k5":(1,2,3), 261 "k6":{ 262 'kk1':'vv1', 263 'kk2':'vv2', 264 }, 265 'k7':[1,2,(8,6,2),{"k111":'vvv1'},5] 266 } 267 v['k7'][2] = 666 268 print(v) 269 """ 270 271 #------在k7的嵌套字典里添加一个k222,vvv2 272 """ 273 v = { 274 "k1":123, 275 "k2":"asdf", 276 "k3":True, 277 "k4":[11,22,33], 278 "k5":(1,2,3), 279 "k6":{ 280 'kk1':'vv1', 281 'kk2':'vv2', 282 }, 283 'k7':[1,2,(8,6,2),{"k111":'vvv1'},5] 284 } 285 v['k7'][3]['k222'] = 'vvv2' 286 print(v) 287 """ 288 289 #列表中嵌套字典 290 291 """ 292 user_list = [ 293 {'name':'老狗','age':18}, 294 {'name':'流量','age':66}, 295 {'name':'wifi':'age':99}, 296 ] 297 """ 298 #练习:通过用户输入的姓名和年龄创建字典 299 300 """ 301 user_list = [ 302 {'name':'老狗','age':18}, 303 {'name':'流量','age':66}, 304 {'name':'wifi','age':99}, 305 ] 306 n = input("请输入姓名:") 307 a = input("请输入年龄:") 308 temp = {} 309 temp['name'] = n 310 temp['age'] = a 311 temp = {'name':n,'age':int(a)} 312 user_list.append(temp) 313 print(user_list) 314 """ 315 #或者下面的写法 316 317 """ 318 user_list = [ 319 {'name':'老狗','age':18}, 320 {'name':'流量','age':66}, 321 {'name':'wifi','age':99}, 322 ] 323 n = input("请输入姓名:") 324 a = input("请输入年龄:") 325 temp = {'name':n,'age':int(a)} 326 user_list.append(temp) 327 print(user_list) 328 """ 329 330 #------改进版----使用for循环 331 """ 332 user_list = [ 333 {'name':'老狗','age':18}, 334 {'name':'流量','age':66}, 335 {'name':'wifi','age':99}, 336 ] 337 n = input("请输入姓名:") 338 a = input("请输入年龄:") 339 temp = {'name':n,'age':int(a)} 340 user_list.append(temp) 341 for item in user_list: 342 print(item) 343 """ 344 345 346 #----再次改进 347 """ 348 user_list = [ 349 {'name':'老狗','age':18}, 350 {'name':'流量','age':66}, 351 {'name':'wifi','age':99}, 352 ] 353 n = input("请输入姓名:") 354 a = input("请输入年龄:") 355 temp = {'name':n,'age':int(a)} 356 user_list.append(temp) 357 for item in user_list: 358 print(item['name'],item['age']) 359 """