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

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}

python-day3-集合的更多相关文章

  1. 跟着ALEX 学python day3集合 文件操作 函数和函数式编程 内置函数

    声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/  一. 集合 集合是一个无序的,不重复的数据组合,主要作用如下 1.去重 把一个列表变成集合 ,就自动去重 ...

  2. Python 3 集合基础和概念!

    Python 3 集合基础和概念! Python 3中,集合是无序的,所以不能进行切片和索引操作. 创建集合有两个方法:set()方法创建的集合是可变的,可被迭代的:frozenset()方法创建的集 ...

  3. Python的集合

    1. Python的集合 1.1 集合的定义 在Python中, 集合set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种.Python中的集合set类 ...

  4. Python 操作集合

    Python 操作集合 集合,set,主要用于数据的关系测试和去重处理,和列表类似,可以存储数据,列表中可以存储重复的数据,但是如果转化为集合之后,数据就会进行去重,然后保留唯一值:关系测试就是求多个 ...

  5. Python中集合set()的使用及处理

    在Python中集合(set)与字典(dict)比较相似,都具有无序以及元素不能重复的特点 1.创建set 创建set需要一个list或者tuple或者dict作为输入集合 重复的元素在set中会被自 ...

  6. Python:集合操作总结

    集合是一组无序排列的不重复元素集 [注]:集合的最大作用是对一个序列进行去重操作 一.集合的分类 在Python中集合分为两类,为可变集合(set)和不可变集合(frozenset).对于可变集合(s ...

  7. python 的集合 set()操作

      Python 的集合 set(),是一个无序不重复元素集,可以用于关系测试和消除重复元素.     有以下运算:   1.创建一个set ()集合:   2.add:增加集合元素   3.clea ...

  8. python set集合(16)

    在python变量中除了以前文章所提到的整形int / 浮点数float / 布尔值bool / 列表list / 字典dict 之外,还有一个类型我们还没有做详细介绍,这个变量类型就是集合set. ...

  9. python frozenset集合(17)

    在前一篇文章中我们对 python set集合 做了详细的讲解,而本文讲解的 frozenset集合 其实和set集合类似!区别在于frozenset集合不能修改/添加/删除,其他功能和set集合一样 ...

  10. Python数据类型--集合(set)

    Python的集合是无序.可迭代的容器对象,所有元素放在一对大括号中{},元素之间使用逗号隔开,同一集合内的元素具有唯一性,不允许重复. 集合中只能包含数字.字符串.元组等不可变类型的数据,不能包含列 ...

随机推荐

  1. 使用/proc实现内核与用户空间通信

    1. 前言   Linux内核空间与用户空间的通信可通过"/proc"目录的文件读写来实现,如果只是控制内核中的参数而不是传输较多数据的话,用“/proc”是很合适的.另外一种内核 ...

  2. Android IOS WebRTC 音视频开发总结(二三)-- hurtc使用说明

    本文主要介绍如何测试基于浏览器和手机的视频通话程序,转载请说明出处,文章来自博客园RTC.Blacker,更多详见www.blackerteam.com   很多人想测试浏览器(包括浏览器版本和桌面e ...

  3. _func_

    __func__标识符 引用:http://blog.csdn.net/zhoujunyi/article/details/1572325 __func__是C99标准里面预定义标识符, 它是一个st ...

  4. 完成了server和client的框架设计

    界面暂且也不搞.先把框架搭建起来.

  5. 说一个Sublime Text 2插件、emmet(原名:zen Coding)

    工具/原料 sublime Text 2 安装emmet插件 方法/步骤 生成html文档初始结构: !<tab> <!doctype html> <html lang= ...

  6. WP8 调用特定API权限不足

    1.在解决方案中依次打开  Properties -> WMAppManifest.xml 2.点击功能 3.在左侧功能列表中勾选想要的功能权限.完毕

  7. JAVA编程思想第一题出现错误

    //: object/E01_DefaultInitialization.java public class E01_DefaultInitialization{ int i ; char c ; p ...

  8. Sublime Text 2 常用快捷键

    Sublime Text 2 常用的快捷键 (不包含插件快捷键) Ctrl+P 打开文件搜索框,可以直接输入文件名搜索,或者输入@funcName 可以直接到函数定义处,输入#key 可以直接查找,输 ...

  9. win2003以isapi的方式配置php+mysql环境(安装了shopEX)

    一.准备相关组件 mysql-installer-community-5.5.29.0.zip php-5.2.17-Win32-VC6-x86 ZendOptimizer-3.3.3-Windows ...

  10. Silverlight学习之初始化参数

    首先需要在Silverlight的宿主页面添加上initParams,如 <param name="initParams" value="key1=jerry,ke ...