Python中的四种数据结构类型

Python中的四种数据结构类型

二刷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])

image-20221105114537002

遍历列表中的每一项

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 

image-20221105114833178

增(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)        #指定下标位置插入元素

image-20221105115547225

删(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]

image-20221105120209737

moviename.pop()

image-20221105120346455

moviename.remove(“指环王”)

image-20221105120414063

namelist = ["小张","小王","小李"]
print("----这是增加前的列表信息----")
for name in namelist:
    print(name)

namelist[2] = "小康"      #修改指定下标的元素内容

print("----这是增加后的列表信息----")
for name in namelist:
    print(name)

image-20221105120606615

#[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

image-20221105120954391

mylist

image-20221105121049458

排序和反转

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])

image-20221105121202490

元组

定义一个空的元组tup1 = ()

当元组中只有一个元素时,需在其后添加一个逗号,否则不会定义为元组

tup1 = ()
print(type(tup1))   #<class 'tuple'>

tup2 = (50)
print(type(tup2))   #<class 'int'>

tup3 = (50,)
print(type(tup3))   #<class 'tuple'>

tup4 = (50,56,89)
print(type(tup4))   #<class 'tuple'>

tup5 = ("abc","def",123,456,"康*","王*月",2000,2022)
print(tup5)
print(tup5[4])
print(tup5[-1])     #访问最后一个切片
print(tup5[1:5])    #左闭右开,进行切片

image-20221105132501742

#增     连接
tup6 = (1,2,3)
tup7 = ("abc","xyz")

tup = tup6 + tup7
print(tup)

image-20221105132648947

tup6 = (1,2,3)
print(tup6)
del tup6        #删除整个元组变量,不允许删除元组中单个值
print("删除后")  #删除后会报错,找不到该元组
print(tup6)

image-20221105132813830

tup4 = (50,56,89)
tup4[1] = 100       #报错,不允许被修改
print(tup4)
#查
#即定义中的切片等操作

image-20221105132958548

字典

#字典的定义
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"))

image-20221105133450568

image-20221105133550859

info = {"name":"康*","age":20,"sex":"man"}
newId = input("请输入你的学号:")
info["id"] = newId
print(info["id"])   #info里面新建一个键
print(info)

image-20221105133722525

#[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”]

image-20221105134127193

image-20221105134207107

del info

image-20221105134302928

info = {"name":"康*","age":20,"sex":"man"}

info["age"] = 22

print(info["age"])

image-20221105134433906

#查     (遍历)
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 )

image-20221105134742116

集合

集合部分点击浏览

个人学习记录会持续更新,不喜勿碰,如有指导建议,欢迎评论区留言,谢谢!!!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Augenstern K

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值