python3 列表、元组、字典等操作(第二周)

前言:

为什么要学习python3?

原因:

1、学习一门语言能力

2、通过该语言能力完成测试自动化以及独立完成自测框架知识

那么我要做什么呢?

1、每天花十个小时完成python3的学习

要在什么地方做呢?

深圳家里完成7天

那到底要怎么做呢?

完成基本的python3的基础知识,从而再学习测试框架

总结:

1、让我初步了解列表、字典、元组的基本的增删改成的操作

2、了解了字符串的操作

3、完成了购物车基本流程代码

运用的函数:

列表的增删改查操作

 1 names =["one","two","three","four","five","six","seven","eight","nine","ten","ten"]
 2 #names = ["0","-9","-8","-7","-6","-5","-4","-3","-2","-1"]
 3 
 4 #查 index() count()
 5 print("指定位置值",names[0])
 6 print("顾前不顾尾,= 1、2的值",names[1:3])
 7 print("含-2后面的值",names[-2:])
 8 print("0:3的值",names[:3])
 9 print("通过值找位置符",names.index("one"))
10 print("统计指定内容数",names.count("ten"))
11 yao=["one","two","three",["one","two"]]
12 print("yao的值:",yao)
13 print("yao的子列表值",yao[3][0])
14 
15 #增,append() , insert()
16 names.append("elven")
17 print("#append 加入到列表尾部",names)
18 names.insert(1,"two2")
19 print("插入指定位置,后面的顺延位置",names)
20 
21 #
22 names[1] = "修改后的值"
23 print(names)
24 yao[3][0] = "修改子列表值"
25 print("修改子列表的值",yao)
26 
27 #删 remove() 、del、 pop()、clear()
28 names.remove("修改后的值")
29 print(names)
30 del names[0]
31 print(names)
32 names.pop()
33 print("pop()默认删除最后一个",names)
34 names.pop(0)
35 print("输入位置后,与del names[0]方法一样",names)
36 #names.clear()  #清空列表
37 #print("清空列表",names)
38 
39 #其他函数 sort()、extend()
40 names.sort()
41 print("排序",names)
42 names2=[1,2,3]
43 names.extend(names2)
44 print("合并两个列表,但不会删除合拼的列表",names,names2)
45 
46 #复制 调用copy模块  浅复制,只是复制表层:copy()  深:copy.deepcopy()
47 yao1= ["yaoone","yaotwo","yaothree",["子列表1","子列表2"]]
48 yao2= yao1.copy()   #yao1和yao2的内存地址不一样,但子列表的内存地址一样,只是copy最外层的内容
49 #yao2 = copy.copy(yao1) #浅复制和上面一样的意思
50 #yao2 = copy.deepcopy(yao1) #深复制,把子列表也复制一份
51 print("copy后,yao2的值",yao2)
52 yao1[0] = "中文姚" #修改后,yao1列表会变,yao2列表不变
53 print("yao1的值",yao1)
54 print("yao2的值",yao2)
55 yao1[3][0] = "修改子列表值" #yao1和yao2的子列表内存地址一样,所以改的是一个地方,会变
56 print("修改yao1子列表的值,查看yao1值",yao1)
57 print("修改yao1子列表的值,查看yao2值",yao2)
View Code

元组的操作

1 #元组一旦新建后不能修改任何值, 只能读。count(), index()
2 names3=("yao1","yao2","yao2")
3 print("统计数",names3.count("yao2"))
4 print("找位置",names3.index("yao2"))
View Code

字符串的操作

 1 #字符串的操作
 2 '''
 3 name ="yao \tni hao ya"
 4 print(name.capitalize())
 5 print(name.count("a"))
 6 print(name.center(50,"-"))
 7 print(name.encode())
 8 print(name.endswith("ha"))
 9 print(name.expandtabs(tabsize=30))
10 print(name.find("yao"))
11 print(name.format())
12 #print(name.format_map())
13 #print(name.index())
14 print(name.isalnum())
15 print(name.isalpha())  #纯英文字符
16 print(name.isdecimal())#十进制
17 print(name.isdigit()) # 是否整数 常用
18 print(name.isidentifier()) #判读是不是一个合法的标识符
19 print(name.islower())
20 print(name.isnumeric()) #是不是一个数字(只有纯数字,不含小数点)
21 print(name.isspace()) #是不是一个空格
22 print(name.istitle()) #每个首字母大写
23 print(name.isprintable())
24 print(name.isupper()) #是否全部大写
25 print(name.join("--")) #常用
26 #print("+".join(["1","2","3","4"])
27 print(name.ljust(50,"*"))#补全
28 print(name.rjust(50,"-"))
29 print(name.lower()) #把大写变成小写
30 print(name.upper()) #把小写变大写
31 print(name.lstrip()) #从左边去空格回车
32 print(name.rstrip()) #从右边去空格回车
33 print(name.strip()) #左右去空格回车
34 p = str.maketrans("abcde","123456")
35 print("alex li".translate(p))
36 print(name.replace("a","L",1)) # 替换,后加的参数是替换几个,默认全部
37 print(name.rfind("a"))  #从左往右,找最后面的值的下标返回
38 print(name.split("")) #把字符串按空格分列表
39 print(name.splitlines()) #按换行来分列表
40 print("Alex Li".swapcase()) # 大小写互换
41 print("Alex Li".title())  #每个字符首字母大写
42 print("Alex Li".zfill("50")) # 直接给长度
View Code

字典的 增删改查操作

 1 #注:字典没有下标,打印没有顺序
 2 
 3 #
 4 info = {
 5     "stu1101":"zhangs",
 6     "stu1102":"lisi",
 7     "stu1103":"xiaowu"
 8 }
 9 print(info)
10 print(info["stu1102"])
11 print(info.get("stu1102"))
12 print("stu1105" in info)
13 
14 #改和新增  没有则新增,有则修改
15 info["stu1104"] = "第四条"
16 print(info)
17 b = {
18     "stu1101":"xiaoming",
19     1:3,
20     2:5
21 }
22 info.update(b)  #把字典info和B 一致的key的值替换。B的值替换info
23 print("------------",info)
24 print(info.items())  #把字典转成一个列表
25 # 删除  del  pop()
26 del info["stu1102"]
27 print(info)
28 info.pop("stu1103")
29 print(info)
30 
31 
32 #info.values()  #打印所有的值,不包含KEY
33 #info.keys()  #打印KEY,不打印值
34 '''
View Code

初级购物车程序

 1 commodity = [
 2     ("dog",100),
 3     ("cat",200),
 4     ("apples",300),
 5     ("books",400),
 6     ("pig",500)
 7 ]
 8 shopping= []
 9 money = input("请输入你的工资:")
10 if money.isdigit():
11     money = int(money)
12     while True:
13         for i,index  in enumerate(commodity): #i 是下标, index是值,可任意起名字
14             print(i,index)
15         number = input("输入购买商品的编号:")
16         if number.isdigit():
17             number = int(number)
18             if number < len(commodity) and number >= 0:
19                 money_list = commodity[number]
20                 if money_list[1] <= money:
21                     shopping.append(money_list)
22                     #money -=  money_list[1]
23                     money = money -money_list[1]
24                     print("当前余额为",money)
25                 else:
26                     print("余额不足,买不了了 ")
27                     continue
28             else:
29                 print("没有该商品,请重新选择")
30                 continue
31         elif number == "q":
32             for p,index in enumerate(shopping):
33                 print(p,index)
34             print("当前余额为:%s"%(money))
35             exit()
36         else:
37             print("输入的值有误,请重新输入:")
38             continue
39 elif money == "q":
40     print("退出系统成功")
41     exit()
42 else:
43     print("输入值不是数字")
44     exit()
View Code

三级菜单程序

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 
 4 three = {
 5     '广东省':{
 6         "广州市":["增城区","越秀区", "白云区"],
 7         "深圳市":("南山区","罗湖区","宝安区"),
 8         "江门市":{
 9             "大江门区":"小鬼子",
10             "小江门区":"大鬼子",
11         },
12     },
13     '湖南省':{
14         "长沙市":"怀化",
15     },
16     '海南省':{
17         "东方市":{"八所","白沙"},
18         "文昌市":("小村庄")
19     }
20 }
21 while True:
22     for i1 in three:
23         print("i1打印:",i1) #打印的是字典的省
24     one1 = input("请输入需要的省份:")
25     if one1 == "q":
26         exit()
27     if one1 in three:
28         for i2 in three[one1]:
29             print("打印的是市:",i2)
30     one2 = input("请输入需要的市:")
31     if one2 == "q":
32         exit()
33     if one2 in three[one1]:
34         for i3 in three[one1][one2]:
35             print(i3)
36     one3 = input("请输入区:")
37     if one3 =="q":
38         exit()
39     if one3 in three[one1][one2]:
40         print(three[one1][one2][one3])
41     one4 = input("已经是最后一层了,输入N返回最上层:")
42     if one4 =="n":
43         pass
View Code
posted @ 2021-01-23 21:21  夜半听雨声*  阅读(83)  评论(0)    收藏  举报