1.字典
# 就是键值对 key:value 字典是没有序的
obj = {'age':12}
#曾
obj['name'] = '老王'
print(obj)
#查 get()查找不会报错 []查存在的
a = obj['age']
# c = obj['age1']
e = obj.get('age1')
print(a)
# print(c)
print(e)
#修改
obj['name'] = '张三'
print(obj)
#练习
# b = {}
# b['name'] = input("名字")
# print(b)
#合并两个字典 update
a = {'names' : '报道'}
a.update(obj)
print(a)
#setdefault 当字典有相同key 不做处理 否则插入数据
a.setdefault('name1','王五')
print(a)
#删 pop或del 根据key删
a.pop('name') # del a['name']
print(a)
#删 popitem 随机删除
a.popitem()
print(a)
#全部删除
a.clear()
print(a)
# 获取键
a1 = {'name':'阿萨德','age':12,'sex':'男'}
keys = a1.keys()
print(keys)
# 获取值
values = a1.values()
print(values)
#获取键值对
items = a1.items()
print(items)
#长度 len
len = len(a1)
print(len)
for i in a1:
print(i,a1[i])
#判断键 在不在
print( 'name' in a1) #True
#键 不可用可变类型的数据 列表,字典,集合 数据改变时, 数据地址不发生改变
2.元组
# list:[] 列表
# obj:{} 字典
# tuple :() 元组 不能修改
t=(1,2,3,2,2)
print(len(t))
print(t[0])
print(t.count(2)) #2出现的次数
x,y = (2,3)
print(x,y)
#注意事项 声明 一个元素的 元组时 后面要加 ,
a = (1)
print(type(a)) #<class 'int'>
b = (1,)
print(type(b)) #<class 'tuple'>
#可变类型数据和不可变类型数据
#可变类型数据 列表,字典,集合 数据改变时, 数据地址不发生改变
#不可变类型数据 字符串,整数,浮点数,布尔,元组 数据改变时, 数据地址发生改变
# 集合 可变 无序
# 字典 可变 无序
# 列表 可变 有顺序
# 元组 不可变 有顺序