Tuple(元组)
·tuple与list类似,不同之处在于tuple的元素不能修改。tuple写在小括号里,元素之间用逗号隔开。
·元组的元素不可变,但可以包含可变对象,如list.
注意:定义一个只有1个元素的tuple,必须加逗号
tup1 = () #创建空的云组
print(type(tup1))
tup2 = (50)
print(type(tup2))
tup3 = (50,)
print(type(tup3))
tup4 = (50,60,70)
print(type(tup4))
'''
<class 'tuple'>
<class 'int'>
<class 'tuple'>
<class 'tuple'>
'''
增(连接):
#增(连接)
tup1 = (12,34,56)
tup2 = ("abc","dfg")
tup = tup1 +tup2
print(tup)
删:删除整个元组变量
#删
tup1 = (12,34,56)
print(tup1)
del tup1
print("删除后:")
print(tup1)
改:不能改
#改 不能改
tup1 = (12,34,56)
tup1[0] = 100 #报错,不允许修改
查:
#查
tup1 = ("abc","def",2000,2022)
print(tup1[0])
print(tup1[-1]) #访问最后一个元素
print(tup1[1:5]) #左闭右开,进行切片
'''
abc
2022
('def', 2000, 2022)
'''
操作名称 | 操作方法 |
获取元组长度 | len() |
获取元组元素最大数值 | max() |
获取元组元素最小值 | min() |
其他类型对象转换成元组 | tuple() |
dict(字典)
·字典是无序的对象集合,使用键-值( key-value )存储,具有极快的查找速度。
·键(key)必须使用不可变类型。
·同一个字典中,键(key)必须是唯一的,值可变
#字典的访问
print(info["name"])
print(info["age"])
#访问了不存在的键
print(info["gender"]) #直接访问会报错
print(info.get("gender")) #使用get方法,没有找到对应的键,默认返回:None
print(info.get("gender","m")) #没找到的时候,可以设定默认值
增删改查:
#增
info = {"name":"吴彦祖","age":18}
newID = input("请输入新的学号")
info["id"] = newID
print(info["id"])
#删
info = {"name":"吴彦祖","age":18}
print("删除前:%s"%info["name"])
del info["name"]
print("删除后:%s"%info["name"]) #删除了指定键值对后,再次访问会报错
--------------------------------------------------------------------------------------
info = {"name":"吴彦祖","age":18}
print("删除前:%s"%info["name"])
del info
print("删除后:%s"%info) #删除字典后再访问,报错
--------------------------------------------------------------------------------------
#清空[clear]
info = {"name":"吴彦祖","age":18}
print("清空前:%s"%info)
info.clear()
print("清空后:%s"%info)
#改
info = {"name":"吴彦祖","age":18}
info["age"] = 20
print(info["age"])
#查
info = {"id":1,"name":"吴彦祖","age":18}
print(info.keys()) #得到所有的键(列表)
print(info.values()) #得到所有的值(列表)
print(info.items()) #得到所有的项(列表),每个键值是一个元组
info = {"id":1,"name":"吴彦祖","age":18}
#遍历所有的键
for key in info.keys():
print(key)
#遍历所有的值
for value in info.values():
print(value)
#遍历所有的键值对
for key,value in info.items():
print("key=%s,value=%s"%(key,value))
#使用枚举函数,同时拿到列表中的下标和元素内容
mylist = ["a","b","c","d"]
for i,x in enumerate(mylist):
print(i+1,x)
set(集合)
·set和dict类似,也是一组key的集合 ,但不存储value.由于key不能重复,所以,在set中,没有重复的key.
·set是无序的,重复元素在set中自动被过滤。
·set可以看成数学意义上的无序和无重复元素的集合,因此。两个set可以做数学意义上的交集(&)、并集(|)、差集(-)等操作。
是否有序 | 是否为可变类型 | |
列表[ ] | 有序 | 可变类型 |
元组() | 有序 | 不可变类型 |
字典{ } | 无序 | key不可变 value可变 |
集合{ } | 无序 | 可变类型(不重复) |