Python知识点4:列表

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) #打印总价格
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值