python学习(4)- 字典和元组

169 阅读1分钟

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'>


#可变类型数据和不可变类型数据

#可变类型数据  列表,字典,集合  数据改变时, 数据地址不发生改变
#不可变类型数据 字符串,整数,浮点数,布尔,元组  数据改变时, 数据地址发生改变

# 集合  可变    无序
# 字典  可变    无序
# 列表  可变    有顺序
# 元组  不可变  有顺序