python第五天

一、字典
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)


在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值