集合的特性:无序性,唯一性,可嵌套性

1 #创建集合方式
2 s1={11,22}# 直接创建
3 s2=set()#创建空集合
4 s3=set([111,222,333])#转换为集合
1 #集合的方法
2 s1={11,22,33}
3 s2={22,33,44}
4 print(s1.difference(s2))#s1中存在s2中不存在
#输出 {11}
 s1={11,22,33}
s2={22,33,44}
s3=s1.symmetric_difference(s2)
print(s3)#将s1与s2中不同的放一起组成新集合
#显示{11, 44}
s1={11,22,33}
s2={22,33,44}
#update方法,s1中存在s2中不存在的值赋给s1
s1.difference_update(s2)#覆盖s1
print(s1)
#显示:{11}
s1={11,22,33}
s2={22,33,44}
# #删除元素
s2.discard(1111)#需要加参数,没有元素不报错
s1.remove(1111)#需要加参数,没有元素报错
res = s1.pop()#随机移除元素,不加参数,接受返回值(删除的元素
s1={11,22,33}
s2={22,33,44}
#求交集
s4=s1.intersection(s2)#求交集赋值给s4
s1.intersection_update(s2)#求交集覆盖s1
print(s4)
print(s1)
#显示{33, 22} {33, 22}
 s1={11,22,33}
s2={22,33,44}
s1.isdisjoint(s2)#判断s1是否包含s2 返回True or False #联合,并集
s5=s1.union(s2)
#显示{33, 22, 11, 44} #给集合添加一个元素
s1.add(111)#增加一个元素
print(s1)
#显示{33, 11, 22, 111} #给集合添加一组元素
li=[111,222,333]
s1.update(li)#添加一组元素,参数为可迭代的对象
print(s1)
#显示{33, 11, 333, 111, 22, 222}
 #集合的综合使用,根据new_dict,更新old_dict
old_dict={
'#1':8,
'#2':4,
'#4':2,
}
new_dict={
'#1':4,
'#2':4,
'#3':2,
}
#将old_dict的key放入一个集合
s1=set(old_dict.keys())
#将new_dict的key放入一个集合
s2=set(new_dict.keys())
#找出old中存在,new中不存在的赋给del_old(需要删除的key)
del_old=s1.difference(s2)
print(del_old)
#找出old中不存在,new中存在的值赋给add_old
add_old=s2.difference(s1)
print(add_old) #找出两个字典中相同的keys,则是需要更新
update_set=s1.intersection(s2) #将要删除的集合元素转为列表
del_old=list(del_old) #删除字典中的元素
del old_dict[str(del_old[0])] #将需要添加的集合转为列表
add_old=list(add_old) #添加新元素到old_dict中
old_dict[str(add_old[0])]=new_dict[str(add_old[0])] #轮询更新相同key不同vlaues的元素
for i in update_set:
old_dict[i]=new_dict[i] print(old_dict,new_dict) #显示
{'#4'}
{'#3'}
{'#1': 4, '#3': 2, '#2': 4} {'#1': 4, '#3': 2, '#2': 4}

最新文章

  1. Android开发:关于WebView
  2. 在IE7下使用angularjs(转)
  3. 【转载】COM 连接点
  4. 【bzoj1029】道路抢修
  5. php xml转为xml或者json
  6. Codeforces Round #306 (Div. 2) D. Regular Bridge 构造
  7. Java运行系统命令并获取值(Process java.lang.Runtime.exec(String[] cmdarray, String[] envp, File dir)
  8. ListView 使用
  9. 安装aptana插件报Error opening the editor. java.lang.NullPointerException
  10. 数列分段Section II
  11. django 自定义过滤器(filter)处理较为复杂的变量的实例
  12. 201521123031 《Java程序设计》第8周学习总结
  13. PUTTY无法远程连接服务器故障解决[转]
  14. 第6章 令牌撤销端点(Token Revocation Endpoint) - IdentityModel 中文文档(v1.0.0)
  15. Vagrant 安装以及private_network配置
  16. shell脚本学习之实例列举
  17. base64转码,解码方法
  18. 浅谈ESB中的DataRow、DataSet、DataBag 、DataBox
  19. Cassandra--JAVA访问Cassandra数据
  20. Java系列:使用软引用构建敏感数据的缓存

热门文章

  1. SQL Server 数据库安全
  2. How to index email and attachments in nsf files?
  3. Android IOS WebRTC 音视频开发总结(四五)-- ORTC背后的真相
  4. Android IOS WebRTC 音视频开发总结(三六)-- easyRTC介绍
  5. Solaris进程管理
  6. Solaris桌面CDE
  7. java 求第n小的质数
  8. js 实现获取对象所有键名(key)的方法
  9. leetcode3:不重复的最长子串长度
  10. jQuery中$(function() {});问题详解