列表的操作
最好的理解代码的方式就是把东西打出来运行一下
增的操作与区别
#增:【append】在末尾追加元素
namelist_2=["小张","小王","小李"]
print("——增加前,名单列表的数据——")
for name in namelist_2:
print(name)
nametemp = input("请输入添加学生的姓名:")
namelist_2.append(nametemp)
print("——增加后,名单列表的数据——")
for name in namelist_2:
print(name)
append和extend的区别
a=[1,2]
b=[3,4]
a.append(b)
#将列表当作一个元素,加入到列表中
print(a)
a.extend(b)
#将列表中的每一个元素追加到列表中,扩展
print(a)
insert的用法
#增 【insert】
a=[0,1,2]
a.insert(1,3) #(下标,插入对象)
#制定下标位置插入元素
删除的操作与区别
#删 【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)
改的操作
#改:
namelist_2=["小张","小王","小李"]
print("——增加前,名单列表的数据——")
for name in namelist_2:
print(name)
namelist_2[1] = "小红"
#修改可以直接指定位置直接赋值修改
print("——增加后,名单列表的数据——")
for name in namelist_2:
print(name)
查的操作
#查:【in,not in】
namelist_2=["小张","小王","小李"]
findname=input("请输入你要查找的学生姓名:")
if findname in namelist_2:
#这个地方不是for循环,而in仅仅是成员函数
#也可以是not in,不要混淆了
print("在学员中找到了这个名字")
else:
print("没有找到")
Index函数
a = ["a","b","c","d","a"]
print(a.index("a",1,4))
#可以查找指定范围内的元素,并且返回对应元素的下标
#次吃的范围区间是属于左闭右开区间型,如【1,4)
#找不到会报错
其他常用操作
print(mylist.count("c"))
#统计某个元素出现几次
a=[1,4,2,3]
print(a)
a.reverse()
#将列表所有元素反转,修改的是列表本身
print(a)
a.sort() #默认进行升序排序
a.sort(reverse=True) #降序排序
print(a)
嵌套讲解
schoolname=[["湘潭大学","湖南大学"],["北京大学","天津大学"."湖师大"],["中国海洋大学"]]
#嵌套可以一直嵌套下去,内列表的元素不一定相同
#那如何访问呢?从外到里写位置!
print(schoolname[0][0])
一个小综合题——八名老师随机分配三个办公室
offices=[[],[],[]]
teachers=["A","B","C","D","E","F","G","H"]
for name in teachers:
index=random.randint(0,2)
offices[index].append(name) #追加的用法
i=1 #不太理解的地方,表示第几间办公室
for office in offices:
print("办公室%d 有%d 人"%(i,len(office)))
#len()就是元素的个数,求长度
i=i+1
for name in office:
print("%s"%name,end="\t")
#%s和%name类型要相匹配
#一定注意怎么加结束符
print("\n") #换行
print("-"*20)
最好是关了视频自己操作一次学
作业
print("------商品列表------")
products =[["iphone",6888],["MacPro",14800],["小米6",2499],["Coffee",31],["Book",60],["Nike",699]]
i=0
for product in products:
print("%d"%i,end=" ")
print(products[i][0],end=" ")
print(products[i][1])
i+=1
#怎么做到价格对齐的?
products =[["iphone",6888],["MacPro",14800],["小米6",2499],["Coffee",31],["Book",60],["Nike",699]]
print("请问你想买什么?")
print("这里有五种产品可供选择")
print("对应商品编号如下:")
print("0:iphone,6888")
print("1:MacPro,14800")
print("2:小米6,2499")
print("3:Coffee,31")
print("4:Book,60")
print("5:Nike,699")
car=[]
for product in products:
a=int(input("请输入你想要商品的编号"))
if a==0:
car.append(products[0])
print("成功将iphone添加到购物车!")
elif a==1:
car.append(products[1])
print("成功将MacPro添加到购物车!")
elif a==2:
car.append(products[2])
print("成功将小米6添加到购物车!")
elif a==3:
car.append(products[3])
print("成功将Coffee添加到购物车!")
elif a==4:
car.append(products[4])
print("成功将Book添加到购物车!")
elif a==5:
car.append(products[5])
print("成功将Nike添加到购物车!")
else:
print("没有这个商品,请重新输入!")
print("你购买的商品如下:")
i=0
for m in car:
print(car[i])
i+=1
我是不是理解错了意思?有几个地方不会写,那个输入q退出怎么操作的,求解救啊