tuple
一,与list相似不同之处,在于tuple的元素不能修改。
二,tuple写在小括号里 (),元素之间用逗号隔开。
三, 元组的元素不可变,但是可以包含可变对象。
注意; 定义一个只有一个元素的tuple要加逗号,
把其他类型对象转换成元组 tuple()
定义元组
tup1 = () #创建的元祖
print(type(tup1))
#tup2 = (50) #<class 'int'> 这不是元组
tup3 = (20,)
print(type(tup3)) #<class 'tuple'>
测试的分隔符和是否可以用下标访问。
tup1 = ("abc","def",200,377)
print(tup1[0])
print(tup1[-1]) #访问最后一个
print(tup1[1:3]) #左闭右开
增:
tup1 = (12,65,84)
tup2 = ("abc","def")
tup = tup2 +tup1
print(tup)
删:
tup1 = (12,65,84)
print(tup1)
del tup1 # 删除整个元组
print("删除后")
print(tup1)
改:
tup2 = (12,78,65)
tup2[0] = 100 # 不能修改
字典 : dict
字典是无序的对象集合,使用键-值(key-value)储存具有极快的查找能力。
键key 必须使用不可变得类型
同一个字典,键key必须是唯一的
字典的定义
info ={"name":"小王","age":18}
字典的访问
print(info["name"])
print(info["age"])
访问不存在的键 、
print(info["gender"]) #直接访问会报错
print(info.get("gender")) # 使用get方法。没有找到对应键,默认为:None
print(info.get("gender","男生")) # 没有找到的时候,可以设定默认值
字据结构 :
增
info ={"name":"王泓焱","age":18}
newID = input ("请输入新的学号:")
info["id"] =newID
print(info["id"])
删:del 删除了指定键-值对,不会只删除值
info = {"name": "小王", "age": 18, "id": "01"}
print("删除前:%s"%info["name"])
del info["name"]
print("删除后:%s" %info["name"])
info = {"name": "小泓焱", "age": 18, "id": "01"}
print("删除前:%s"%info)
del info
print("删除后:%s"%info) #删除字典后在访问。报错,整个元组都删除了
[clear] 清空
info = {"name": "小王", "age": 18, "id": "01"}
print("清空前%s"%info)
info.clear()
print("清空后是多少:%s"%info)
改:
info = {"name": "小王", "age": 18, "id": "01"}
info["age"] = 20
print(info["age"])
查:
键的查询
info = {"name": "小王", "age": 18, "id": "01"}
print(info.keys()) # 得到所有的键 (列表) dict_keys(['name', 'age', 'id'])
print(info.values()) #得到所有的值 (列表) dict_values(['王泓焱', 18, '01'])
print(info.items()) #得到所有的象 (列表)每个键值对是一个元组 dict_items([('name', '小王'), ('age', 18), ('id', '01')])
遍历所有的键
info = {"name": "王泓焱", "age": 18, "id": "01"}
for name in info.keys():
print(name,end="\t")
遍历所有的值
for one in info.values():
print(one,end="\t")
遍历所有的象
for key,two in info.items():
print("key=%s,two=%s"%(key,two),end="\t")
枚举类型 同时拿到列表中的下标和元素内容
mylist = ["a","b","c","d"]
for i,t in enumerate(mylist):
print("i=%s,t=%s"%(i,t))
# 正常输出
for x in mylist:
print(x)
集合: set ([ ])
可理解为字典的键单独拿出来,键不能重复。
set是无序的,重复的元素在set中自动被过滤。
set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集(&),并集(|),差集(-)。