Tuple(元组)
-
元组和列表类似,不同之处在于tuple的元素不能修改。tuple写在小括号里面,元素之间用逗号隔开。
-
元组的元素不可变,但可以包含可变对象,如list
tup1 = () #创建空元组
print(type(tup1))
#tup2 = (50) #不是元组,<class 'int'>
tup2 = (50,) #元组中只有一个元素,必须加逗号,<class 'tuple'>
print(type(tup2))
tup3 = (50,60,70)
print(type(tup3)) #<class 'tuple'>
增:连接两个元组
tup1 = (12,34,56)
tup2 = ('x','y','z')
tup = tup1 + tup2
print(tup)
删:删除整个元组变量
tup1 = (12,34,56)
print(tup1)
del tup1 #删除了整个元组变量
#print(tup1) #报错
改:不能修改
tup1 = (111,222,333)
tup1[1] = 100 #报错,不允许修改
查:简单理解就是访问
tup1 = ('s','r',"g",2020,2021)
print(tup1[0])
print(tup1[-1]) #-1表示访问最后一个元素
print(tup1[1:3]) #左闭右开,进行切片
dict(字典)
- 字典是无序的对象集合,使用键-值(key-value)存储,具有极快的查找速度
- 键(key)必须使用不可变类型。
- 同一字典中,键(key)必须是唯一的。
字典的定义:
info = {"name":"王勇","gender":"男","age":18}
字典的访问:
print(info["name"])
print(info["gender"])
print(info["age"])
#访问了不存在的键
print(info["hobby"]) #直接访问,会报错
print(info.get("hobby")) #使用get方法,没有找到对应的键,默认返回:None
print(info.get("gender","man")) #如若找到,显示原值,默认值不发挥作用
print(info.get("hobby","reading")) #没找到的时候,可以设定默认值
增:
newID = input("请输入你的学号:")
info["id"] = newID
print(info["id"])
删:[del],[clear]
#[del]:删除整个字典,或者指定键值对
print("删除前名字:%s"%info["name"])
del info["name"]
#print("删除后名字:%s"%info["name"]) #删除了指定键值对后,再次访问会报错
print("删除前字典内容:%s"%info)
del info
#print("删除后字典内容:%s"%info) #删除字典后,再次访问会报错
#[clear]:清空字典
print("清空前字典:%s"%info)
info.clear()
print("清空后字典:%s"%info)
改:
info["age"] = 20
print(info["age"])
查:(遍历)
print(info.keys()) #得到所有的键(列表形式呈现)
print(info.values()) #得到所有的值(列表)
print(info.items()) #得到所有的项(列表),每个键值对是一个元组
#遍历所有的键
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))
#使用枚举函数
list = ["a","b","c"]
#print(enumerate(list))
for i,x in enumerate(list): #enumerate枚举类型,帮助我们同时拿到下标和元素内容
print(i,x)