Python知识点4:列表 b站学习:https://www.bilibili.com/video/BV12E411A7ZQ 注意:三引号只是把代码注释掉了
一、列表 列表的定义:
#-*- coding = utf-8 -*- #@Time : 2020/9/3 18:50 #@Author : Vivian #@File : demo2.py #@Sofeware : PyCharm ''' namelist1=[] #定义一个空的列表 namelist2=["小张","小李","小王"] print(namelist2[0]) print(namelist2[1]) print(namelist2[2]) #列表中可以存储混合类型 namelist3=[1,"测试"] print(type(namelist3[0])) print(type(namelist3[1])) #用for遍历列表 for name in namelist2: print(name) #用while遍历列表 length=len(namelist2) i=0 while i<length: print(namelist2[i]) i+=1 '''二、常用操作 #增删改查 1.增
#增删改查 ''' #增:[append] 在末尾追加一个元素 namelist=["小张","小李","小王"] print("----增加前列表数据") for name in namelist: print(name) nametemp=input("请输入添加的学生姓名:") namelist.append(nametemp) print("----增加后列表数据") for name in namelist: print(name) ''' ''' #增:[extend] a=[1,2] b=[3,4] a.append(b) #将b整个加入a print(a) a.extend(b) #将b列表中的每个元素加入a中 print(a) ''' ''' #增:[insert] 指定下标位置插入元素 a=[0,1,2] a.insert(1,3) #第一个变量表示下标,第二个变量表示变量 print(a) '''2.删
#删:[del] [pop] [remove] movieName=["澳门风云","你的名字","大鱼海棠","变形金刚","花木兰"] print("----删除前列表数据") for name in movieName: print(name) del movieName[2] #在指定位置删除一个元素 movieName.pop() #删除最后一个元素 movieName.remove("你的名字") #删掉找到的第一个 print("----删除后列表数据") for name in movieName: print(name)3.改
#改: namelist=["小张","小李","小王"] print("----修改前列表数据") for name in namelist: print(name) namelist[1]="小红" #直接指定下标修改内容 print("----修改后列表数据") for name in namelist: print(name)4.查
#查:[in,not in] namelist=["小张","小李","小王"] findName=input("请输入你要查找的学生名字:") if findName in namelist: print("找到了") else: print("没找到") #其他应用 mylist=["a","b","c","a","b"] print(mylist.index("a",1,4)) #可以查找指定下标范围的元素,并返回对应下标 #print(mylist.index("a",1,3)) #范围左闭右开 这里会报错(找不到) print(mylist.count("b")) #统计某个元素的次数列表的反转和排序
#列表反转和排序 a=[1,2,3,4] print(a) a.reverse() #将列表所有元素反转(a改变了) print(a) a.sort() #升序 print(a) a.sort(reverse=True) #降序 print(a)列表的嵌套
#列表的嵌套 schoolNames=[["北京大学","清华大学"],["中山大学","复旦大学"],["华南理工大学"]] print(schoolNames[0]) print(schoolNames[0][0])小练习:
#练习:把a-h老师分配到1-3个office并打印 import random offices=[[],[],[]] names=["a","b","c","d","e","f","g","h"] for name in names: index=random.randint(0,2) offices[index].append(name) print(offices) i=1 for office in offices: print("办公室%d的人数有%d人"%(i,len(office))) i+=1 for name in office: print(name,end="\t") print("\n")课后作业:
#课后作业 products=[["iphone",6888],["MacPro",14800],["小米6",2499],["Coffee",31],["book",60],["Nike",699]] print("------ 商品列表 ------") #打印商品列表 for i in range(6): print(i, end="\t") print(products[i][0], end="\t") print(products[i][1]) carts=[] #建立一个空的购物车 while True: numberChar=input("请输入你想购买的商品编号,输入q进行买单") if numberChar=="q": #若输入为q则跳出循环 break number=int(numberChar) #输入的字符串转换成数字 carts.append(products[number]) #往carts中添加商品数据 print("现在购物车有:",end="\n") #打印目前的购物车信息 print(carts) i=0 total=0 for cart in carts: #计算总价格 total+=cart[1] i+=1 print("您要支付%d元"%total) #打印总价格