二刷Python基础,巩固复习
是否有序 | 是否可变类型 | |
---|---|---|
列表[ ] | 有序 | 可变类型 |
元组( ) | 有序 | 不可变类型 |
字典{ } | 无序 | key不可变 value可变 |
集合{ } | 无序 | 可变类型(不重复) |
定义一个空的列表namelist = []
列表中可以存储混合类型,见testlist
namelist = ["小张","小王","小李"]
testlist = [1,"测试"]
print(type(testlist[1]))
print(type(testlist[0]))
print(namelist[0])
print(namelist[1])
print(namelist[2])
遍历列表中的每一项
len()可以得到列表的长度
for name in namelist : #for循环遍历
print(name)
print(len(namelist))
lenth = len(namelist)
i = 0
while i < lenth : #while循环遍历
print(namelist[i])
i += 1
增(append、extend、insert)
#[append]
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)
print(a) # 将b列表中的每个元素,逐一追加到a列表中
#[insert]
a = [1,2,3]
a.insert(1,99) #第一个变量表示下标,第二个变量表示元素(对象)
print(a) #指定下标位置插入元素
删(del、pop、remove)
#[del] [pop] [remove]
moviename = ["加勒比海盗","速度与激情","复仇者联盟","独行月球","指环王","盗梦空间","指环王"]
print("----这是删除前的列表信息----")
for name in moviename:
print(name)
#del moviename[3] #在指定位置删除一个元素
#moviename.pop() #弹出末尾最后一个元素
moviename.remove("指环王") #直接删除找到的第一个指定内容的元素
print("----这是删除后的列表信息----")
for name in moviename:
print(name)
del moviename[3]
moviename.pop()
moviename.remove(“指环王”)
改
namelist = ["小张","小王","小李"]
print("----这是增加前的列表信息----")
for name in namelist:
print(name)
namelist[2] = "小康" #修改指定下标的元素内容
print("----这是增加后的列表信息----")
for name in namelist:
print(name)
查
#[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)) #范围区间,左闭右开 [1,3)
#找不到会报错
print(mylist.count("c")) #统计某个元素出现几次
"""
"""
namelist
mylist
排序和反转
a = [1,4,2,3]
a.reverse() #将列表所有元素反转
print(a)
a.sort() #升序
print(a)
a.sort(reverse=True) #降序
print(a)
#schoolnames = [[],[],[]] #有3个元素的空列表,每个元素都是一个空列表
schoolnames = [["北京大学","清华大学"],["南开大学","天津大学","天津师范大学"],["山东大学","中国海洋大学"]]
print(schoolnames[0])
print(schoolnames[0][0])
定义一个空的元组tup1 = ()
当元组中只有一个元素时,需在其后添加一个逗号,否则不会定义为元组
tup1 = ()
print(type(tup1)) #
tup2 = (50)
print(type(tup2)) #
tup3 = (50,)
print(type(tup3)) #
tup4 = (50,56,89)
print(type(tup4)) #
tup5 = ("abc","def",123,456,"康*","王*月",2000,2022)
print(tup5)
print(tup5[4])
print(tup5[-1]) #访问最后一个切片
print(tup5[1:5]) #左闭右开,进行切片
增
#增 连接
tup6 = (1,2,3)
tup7 = ("abc","xyz")
tup = tup6 + tup7
print(tup)
删
tup6 = (1,2,3)
print(tup6)
del tup6 #删除整个元组变量,不允许删除元组中单个值
print("删除后") #删除后会报错,找不到该元组
print(tup6)
改
tup4 = (50,56,89)
tup4[1] = 100 #报错,不允许被修改
print(tup4)
#查
#即定义中的切片等操作
#字典的定义
info = {"name":"康*","age":20,"sex":"man"} #使用大括号{},键值存储类型一一对应,键值之间用冒号相连接
#字典的访问
print(info["name"])
print(info["age"])
#访问不存在的键
#print(info["gender"]) #直接访问,没有找到相应的键,会报错
print(info.get("gender")) #使用get方法,没有找到相应的键,默认返回:None
print(info.get("gender","m"))#没有找到,可以设定返回默认值
print(info.get("age","20"))
print(info.get("age","18"))
增
info = {"name":"康*","age":20,"sex":"man"}
newId = input("请输入你的学号:")
info["id"] = newId
print(info["id"]) #info里面新建一个键
print(info)
删
#[del] 删除
del info["name"] #删除操作——键与值均被删除掉
#print(info["name"]) #删除指定键值对后,再次访问会报错
print(info)
del info
#print(info) #删除字典后,访问报错
#[clear] 清空
info = {"name":"康*","age":20,"sex":"man"}
print("清空前%s:"%info)
info.clear()
print("清空后%s"%info)
del info[“name”]
del info
改
info = {"name":"康*","age":20,"sex":"man"}
info["age"] = 22
print(info["age"])
查
#查 (遍历)
info = {"id":2013041143,"name":"康*","age":20,"sex":"man"}
print(info.keys()) #得到所有的键(列表)
print(info.values()) #得到所有的值(列表)
print(info.items()) #得到所有的项(列表),每一个键值对是一个元组
#遍历所有的值
for value in info.values():
print(value)
#遍历所有的键
for key in info.keys():
print(key)
#遍历所有的项
for item in info.items():
print(item)
# 遍历所有的键值对
for key,value in info.items():
print("key=%s,value=%s"%(info.keys(),info.values()))
print("key=%s,value=%s"%(key,value))
#使用枚举函数,同时拿到列表中的下标和元素内容
mylist = ["a","b","c","d"]
for i,x in enumerate(mylist):
print(i,x )
集合部分点击浏览
个人学习记录会持续更新,不喜勿碰,如有指导建议,欢迎评论区留言,谢谢!!!