基本数据类型 : set

集合(set)特点 :

  • 无序
  • 不能重复(自动去重)
  • 用 {} 或 set()函数 来表示集合
  • 空集合 : set()
1 name = {"江户部柯南","基德","灰原哀","工藤新一"}
2 name1 = set(["江户部柯南","基德","灰原哀","工藤新一"])
3 print(type(name),type(name1)) 运行结果 :
<class 'set'> <class 'set'>

1.1  新增

  • set.add("m")           将元素m添加到集合末尾(无返回值)
  • set.update("m")      将元素m逐个字符插入到集合中(无返回值)
### 新增集合   add()   update()

1 name = {"江户部柯南","基德","灰原哀","工藤新一"}
2 name.add("服部平次") ### 添加元素“服部平次”
3 print(name)
4
5 a = name.update("服部平次") ### 将“服部平次”逐个插入到集合中
6 print(a,name)

1.2  删除

  • set.remove("e")        根据元素名删除
  • set.pop()                   随机删除一个元素
  • del 列表名                 删除整个集合
  • set.clear()            清空集合中的所有元素
### 删除集合  remove()   pop()   del    clear()

 1 name = {"江户部柯南","基德","灰原哀","工藤新一"}
### 删除元素“基德”
3 name.remove("基德")
4 print(name)
### 随机删除一个元素
6 name.pop()
7 print(name)
### 将集合name删除
9 del name
10 print(name)
### 清空集合中的元素
12 name.clear()
13 print(name)

1.3  去重、求交集、差集、并集、超集

  • set()     可用于字符串、列表、集合去除重复的元素
1 name_set = {"江户部柯南","基德","灰原哀","江户部柯南","工藤新一"}
2 name_list = ["江户部柯南","基德","灰原哀","江户部柯南","工藤新一"]
### 去除重复的元素
4 print(set(name_set))
5 print(set(name_list)) 运行结果:
{'灰原哀', '江户部柯南', '基德', '工藤新一'}
{'灰原哀', '江户部柯南', '基德', '工藤新一'}
  •  & /  集合名1.intersection(集合名2)  :  求两个集合的交集
### 求交集    & 、  set.intersection(set2)

1 set1 = {1,2,3,4}
2 set2 = {3,4,5,6}
# 法一:
4 print(set1 & set2)
# 法二:
6 print(set1.intersection(set2)) 运行结果:

 {3, 4}
 {3, 4}

  • ^  /  集合名1.symmetric_difference(集合名2)  : 求两个集合的反交集
### 求反交集   ^   、  集合名1.symmetric_difference(集合名2)  

1 set1 = {1,2,3,4,5}
2 set2 = {4,5,6,7,8}
# 法一:
4 print(set1 ^ set2)
# 法二:
6 print(set1.symmetric_difference(set2)) 运行结果:

{1, 2, 3, 6, 7, 8}
  {1, 2, 3, 6, 7, 8}

  • -     /   集合名1.difference(集合名2)   :  求两个集合的差集
### 求差集    集合1 - 集合2     /   集合名1.difference(集合名2)

1 set1 = {1,2,3,4,5}
2 set2 = {4,5,6,7,8}
# 法一
4 print(set1 - set2)
5 print(set2 - set1)
# 法二
7 print(set1.difference(set2))
8 print(set2.difference(set1)) 运行结果:

{1, 2, 3}
  {8, 6, 7}
  {1, 2, 3}
  {8, 6, 7}

  •  |     /     集合名1.union(集合名2)    求两个集合的并集
###  集合名1 | 集合名2    、    集合名1.union(集合名2)

1 set1 = {1,2,3,4,5}
2 set2 = {4,5,6,7,8}
# 法一
4 print(set1 | set2)
# 法二
6 print(set1.union(set2))
  •   集合1.issubset(集合2)          判断集合1是否为集合2的子集
  •   集合1.issuperset(集合2)       判断集合1是否为集合2的超集
1 set1 = {1,2,3}
2 set2 = {1,2,3,4,5,6}
3 print(set1 < set2)
4 print(set1.issubset(set2)) #子集
5 print(set1.issuperset(set2)) #超集
可变数据类型   :list[] 、dict{}
不可变数据类型 : int 、 str 、 tuple()

【python 3】 集合方法操作汇总的更多相关文章

  1. Python中集合的操作

    Python集合的基本详情 集合是无序的 集合是可变数据类型 集合属于不可哈希范围 集合自动去重 集合的操作 set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} ...

  2. 【python 3】 列表方法操作汇总

    基础数据类型 : list list主要操作:索引.切片.查询.修改.增加.删除.扩展.统计.排序.获取下标.拷贝…… 1.1  索引  由图: list正向下标从0开始 list反向下标从-1开始 ...

  3. 【python 3】 字符串方法操作汇总

    基础数据类型:str 1.1  字符串大小写转换 所有字母大写 : string.upper() 所有字母小写 : string. lower() 第一个单词的第一个字母大写,其他字母小写 :  st ...

  4. 【python 3】 字典方法操作汇总

    基础数据类型:tuple 1.1  新增 dic["key"] = value                            字典中没有key就添加,有key就覆盖 dic ...

  5. Python set集合类型操作总结

    Python中除了字典,列表,元组还有一个非常好用的数据结构,那就是set了,灵活的运用set可以减去不少的操作(虽然set可以用列表代替) 小例子 1.如果我要在许多列表中找出相同的项,那么用集合是 ...

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

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

  7. Scala 学习笔记之集合(9) 集合常用操作汇总

    object CollectionDemo10 { def main(args: Array[String]): Unit = { var ls = List[Int](1, 2, 3) //向后增加 ...

  8. paip.数组以及集合的操作uapi java php python总结..

    paip.数组以及集合的操作uapi 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/att ...

  9. python学习笔记:文件操作和集合(转)

    转自:http://www.nnzhp.cn/article/16/ 这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句 ...

随机推荐

  1. webpack 4.0 配置文件 webpack.config.js文件的放置位置

    一般webpack.config.js是默认放在根目录的,不在根目录的时候需要在package.json中制定位置,我的配置文件目录是config/webpack.config.js,在package ...

  2. ZY

    2017*****1022:我是石翟夫:我的爱好是计算机: 我的码云个人主页是:https://gitee.com/S_DiF/events 我的第一个项目地址是:https://gitee.com/ ...

  3. UML作业第三次:分析《书店图书销售管理系统,绘制类图

    plantuml类图绘制方法的学习: 1.关于类图的学习: 类图显示了系统的静态结构. 类:类图中的主要元素,用矩形表示.矩形的上层表示类名.中层表示属性.下层表示方法. 类之间的关系:关联.依赖.聚 ...

  4. REDHAT YUM本地源的搭建和使用

    yum源一般分为两种,本地yum源和本地网络yum源,前者是通过文件提供安装包,后者是通过网络下载安装包: 由于Redhat7.3的yum源需要注册付费,所以往往会出现下载yum源安装包失败,如下图: ...

  5. python装饰器扩展之functools.wraps

    我们知道函数被装饰器,装饰后,所有的属性,以及内置函数就失效了. 原因是函数类型变成了warpper类型 示例1:不带wraps装饰器示例 def warfunc(func): def warpper ...

  6. 2017 5 31 php面向过程 面向对象1

    面向过程的语法定义变量:定义函数:使用变量(输出,赋值,等)调用函数:流程控制(if,switch,for,while等) 面向对象的语法1,定义类:定义类的语法中,只有这3种代码:1.1定义属性(变 ...

  7. PHP洗牌、猴子选大王两个小算法

    <一>洗牌算法 /** *洗牌算法washCard *@param $cardNum *@return array */ function washCard($cardNum) { $ca ...

  8. PHP 程序员危机(转载)

    感谢有这样的机会,能和大家一起来聊聊开发者的那些事儿. 其实程序员危机是一个真实存在的问题.也有人说是互联网行业的下滑或者互联网行业已过了风口等等.我在这儿主要谈的是 PHP 程序员的危机,而这种危机 ...

  9. Kali-Dos洪水攻击之Hping3

    在计算机行业,拒绝服务(DoS)或分布式拒绝服务(DDoS)攻击是指不法分子企图让某机器或网络资源无法被预期的用户所使用.虽然执行DoS攻击的方式.动机和目标不一样,但通常包括设法临时性或无限期中断或 ...

  10. java 自动拆箱

    Integer a0 = ; Integer a1 = ; Integer b0 = ; Integer b1 = ; ; System.out.println(a0 == a1); >> ...