第三周python学习笔记 set 集

本文介绍了使用Python进行字典的修改、添加及删除操作的方法,并演示了如何通过集合进行交集、并集、差集等运算。同时,文章还展示了列表转集合的过程及其在数据处理中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

#!/usr/bin/env python
#-*- encoding:utf8 -*-
# Author:lzf8989
# old_dict是原有的字典,new_dict是新获取到的。\
# 用python实现修改添加等操作。
old_dict = {
    "#1": 8,
    "#2": 4,
    "#4": 2,
}
new_dict = {
    "#1": 4,
    "#2": 4,
    "#3": 2,
}
# 把字典转换成集
old_set = set(old_dict.keys())
new_set = set(new_dict.keys())
# 获取需要添加、删除、修改的字段。
add_set = new_set.difference(old_set)
del_set = old_set.difference(new_dict)
change_set = old_set.intersection(new_dict)
# 转换成字典的key
del_key = tuple(del_set)[0]
add_key = tuple(add_set)[0]
# 删除字典中的key
del old_dict[del_key]
# 添加字典中没有的key
old_dict[add_key]=new_dict[add_key]
# 修改已经更改的字段
for change_key in tuple(change_set):
    print (change_key)
    old_dict[change_key]=new_dict[change_key]
# 打印当前字典
print (old_dict)

 

list_1 = [1,4,56,6,32,2,1223,4]
list_2 = [23,4,5,2,1223,1]
list_3 = [4,6,1]
list_1 = set(list_1)
list_2 = set(list_2)
print ('type',type(list_2)) # 查看数据类型。
#交集
list_jiaoji = list_1.intersection(list_2)
list_1.intersection_update(list_2) # 取交集,直接更新到list_1
print (list_1 & list_2)
print ('交集',list_jiaoji)
#并集
list_bingji = list_1.union(list_2)
print (list_1 | list_2)
print ('并集',list_bingji)
#差集
list_chaji = list_1.difference(list_2)
print (list_1 - list_2)
print ('差集',list_chaji)
#子集
list_ziji = set(list_3).issubset(list_1)
print ('子集',list_ziji)
#对称差集
list_fanxiang = set(list_2).symmetric_difference(list_1)
print (list_1 ^ list_2)
print ('对称差集',list_fanxiang,list_2)
#交集以外
list_jjyw = list_2.isdisjoint(list_1)
print ('jjyw',list_jjyw)
#添加一项
list_1.add(999)
#添加多项
list_2.update([888,222,333])
print (list_1,list_2)
# 移除指定元素,不存在,不报错。
list_discard = list_1.discard(2222)
# 移除指定元素,不存在,报错。
list_remove = list_1.remove(2222)
# 随机移除某个元素,并返回值。不加参数
str = list_1.pop()
# 随机删除一个元素,返回值。

 

转载于:https://www.cnblogs.com/lzf8989/p/6132232.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值