一、字典
1、字典是python内唯一自建的映射类型
注意:字典的key不能是可修改的数据类型,例如列表就不能当作字典的key
values 可以是任意数据类型
2、字典增加和删除操作
#字典中的key不能是不可修改的类型,列表不能作为key
#字典初识
a = {"name":'张三','age':'19','sex':'men'}
print(a['name']) #判断为key值,输出为对应的key的values
print(a['age']=='19')
print(a)
a["score"] = 100 #如果添加的key是原来没有的,则增加一个元素
print(a)
a ['age'] = 18 #如果添加的key是原来有的,则新的值覆盖旧的值
print(a)
a.setdefault('age',20) #指定key更新值,key是原来有的,不做任何改变
print(a)
a.setdefault('num','001')#指定key更新值,key是原来没有的,添加新的元素
print(a)
b = a.pop('age')#指定关键值弹出,删除对应的值
print(b)
print(a)
b = a.popitem()#随机弹出某一项的值
print(b)
print(a)
a.clear()#清空字典
print(a)
del a #彻底删除a
print(a)
一行对应一个print()
3、字典修改与查找操作
a = {"name":'张三','age':'19','sex':'men'}
print(a.keys())#找到并输出所有的key值
for i in a.keys():
print(i)
print(a.values())#找到并输出所有的values
for v in a.values():
print(v)
for kv in a.items():#返回字典建值呈元组形式的格式
print(kv)
for k,v in a.items():
print(k,v)
print(k)
print(v)
print (len(a))#输出字典长度,以key值的多少计算
b = {"name":'李四','age':15}
a.update(b)#以b为参数更新a,如果key相同,则更新值,如果b的key在a中没有,则添加项目
print(a)
if 'name' in a.keys():#只能比较key值
print("姓名在字典里")
a={
"001": {'name': '张三', 'age': 18, 'sex': '女'},
"002": {'name': '李四', 'age': 28, 'sex': '男'},
"003": {'name': '王五', 'age': 38, 'sex': '女'},
"004": {'name': '周六', 'age': 48, 'sex': '男'}
}
##key重复,后一个的values覆盖前一个的values
# a = {'name':'张三','age':18,'sex':'女','age':20}
# print(a)
#遍历输出双重字典
for k,v in a.items():
print('num',k,end=',')
for k1,v1 in v.items():
print(k1,":",v1,end=',')
print()
for k in a.keys():
print("num",k,end=',')
for x,y in a[k].items():
print(x,":",y,end=',')
print()
# for k in a.keys():
# print("num",k,end=',')
# for k1 in a[k].items():
# print(k1,':',a[k][k1],end=',')
# print()
for k in a.keys():
if a[k]["sex"]=='男':
a[k]['salary']=1000
print(a)
二、集合
1、
1)、集合盛放多个数据的一种类型
2)、集合中的元素是无序的,唯一的、不可改变类型
3)、可以使用大括号{}或者set()函数创建集合
注意事项:
1.创建一个空的集合必须用set()而不是{},因为{}是用来创建一个空字典
2.集合中的元素必须是不可修改类型
2、集合操作
i 添加操作
a = {1,2,3,4,5,6,1,2,3}
# print(a,type(a))
# b = {}
# print(b,type(b))
a.add(7)#添加新元素
print(a)
a.update((1,2,3,8))#只更新集合里面之前没有的元素
print(a)
ii.
删除操作
a = {1,2,3,4,5,6,1,2,3}
b = a.pop()#随机弹出一个值
print(b)
a.remove(6)#移除元素
print(a)
b =a.clear()#清理的集合里面的所有元素,保留空集合
print(b)
del a #直接删除
print(a)
iii.集合数学运算
#遍历集合
a = [1,2,3,4,1,2,3,4,1,2,1,2,3]
for x in set(a):
print(x,"出现了",a.count(x),"次")
#集合的操作
a = {1,2,3,4}
b = {3,5,6,4}
c = a.intersection(b) #交集
print(c)
d = a.union(b)#并集
print(d)
e = a.difference(b)#用a-a与b的交集
print(c)
f = a.symmetric_difference(b)#抑或,集合a,b相加并减去a与b的交集
print(f)