Python内置数据结构

五、集合(set)

python 还提供了另外一种数据类型:set

set用于包含一组无序的不重复对象。所以set中的元素有点像dictkey。这是setlist的最大区别

set基本应用有元素测试、去除list、tuple中的重复元素。

set也支持一些数学操作,像:并集(union)、交集(intersection)、差集(difference)、对称差集(symmetric difference)。

set集合创建方式一般有 2 种:字面量方式和把list、tuple、str等转换成set

5.1 set集合的创建

5.1.1 字面量方式创建set集合

字面量方式创建set集合和字面量dict有点像,都是使用的{}来包裹, 只不过set中不是键值对而已。

basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}

print(basket)

set中不能存储重复元素


5.1.2 把list中的元素存入到set

使用set构造函数支持把list中的元素直接存入到新创建的set中。

nums1 = [10, 20, 30, 20, 10, 100, 200, 100]
nums2 = set(nums1)
print(nums2)

重复元素也去除成功了!

5.1.3 把字符串中的每个字符作为一个元素存入到set

s = "hello world, I love you"
cs = set(s)
print(cs)

你会发现重复字符已经去除完毕了。

注意:

创建空的set不能直接使用字面量的形式{},这样创建的是空的字典。只能使用set构造函数。

s = {}
print(type(s) is dict) s = set()
print(type(s) is dict)

5.2 set常用操作

5.2.1支持innot in

nums1 = {10, 20, 30, 20, 10, 100, 200, 100}
print(10 in nums1) # True
print(20 not in nums1) # False

5.2.2 数学操作

set也支持一些数学操作,像:并集(union)、交集(intersection)、差集(difference)、对称差集(symmetric difference)。

a = set("abcde")
b = set("defghi")
print("a:" + str(a))
print("b:" + str(b)) print("a - b 差集: " + str(a - b)) # 差集 a 中有,但是 b 中没有
print("a | b 并集: " + str(a | b)) # 并集 a 和 b 的元素全部都有 当然不会重复
print("a & b 交集: " + str(a & b)) # 交集 a 和 b 共同有的元素
print("a ^ b 对称差集: " + str(a ^ b)) # 对称差集 a 有或者 b 有,但是不是他们都有

5.2.3 set推导

list推导一样,set也支持set推导

a = {x for x in 'abracadabra' if x not in 'abc'}
print(a)

5.2.4 在集合中添加新项

s = set("hello")

s.add("z")  # 添加一项
print(s) s.update(["x", "y"]) # 添加多项
s.update("mn") # 添加多项
print(s)

Python第五章-内置数据结构05-集合的更多相关文章

  1. Python第五章-内置数据结构01-字符串

    Python 内置的数据结构 ​ 到目前为止,我们如果想保存一些数据,只能通过变量.但是如果遇到较多的数据要保存,这个时候时候用变量就变的不太现实. ​ 我们需要能够保存大量数据的类似变量的东东,这种 ...

  2. Python第五章-内置数据结构02-列表

    Python 内置的数据结构 二.列表(list) 想一想: 前面学习的字符串可以用来存储一串信息,那么想一想,怎样存储咱们班所有同学的名字呢? 定义100个变量,每个变量存放一个学生的姓名可行吗?有 ...

  3. Python第五章-内置数据结构04-字典

    Python 内置的数据结构 四.字典(dict) 字典也是 python 提供给我们的又一个非常重要且有用的数据结构. 字典在别的语言中有时叫关联数组.关联内存.Map等. 字典中存储的是一系列的k ...

  4. Python第五章-内置数据结构03-元组

    Python 内置的数据结构 三.元组(tuple) python 作为一个发展中的语言,也提供了其他的一些数据类型. tuple也是 python 中一个标准的序列类型. 他的一些操作和str和li ...

  5. Python的4个内置数据结构

    Python提供了4个内置数据结构(内置指可以直接使用,无需先导入),可以保存任何对象集合,分别是列表.元组.字典和集合. 一.列表有序的可变对象集合. 1.列表的创建例子 list1 = []lis ...

  6. python的四种内置数据结构

    对于每种编程语言一般都会规定一些容器来保存某些数据,就像java的集合和数组一样python也同样有这样的结构 而对于python他有四个这样的内置容器来存储数据,他们都是python语言的一部分可以 ...

  7. [PY3]——内置数据结构(6)——集合及其常用操作

    集合及其常用操作Xmind图          集合的定义 # set( ) # {0,1,2} //注意不能用空的大括号来定义集合 # set(可迭代对象) In [1]: s=set();type ...

  8. Python的内置数据结构

    Python内置数据结构一共有6类: 数字 字符串 列表 元组 字典 文件 一.数字 数字类型就没什么好说的了,大家自行理解 二.字符串 1.字符串的特性(重要): 序列化特性:字符串具有一个很重要的 ...

  9. python面试总结4(算法与内置数据结构)

    算法与内置数据结构 常用算法和数据结构 sorted dict/list/set/tuple 分析时间/空间复杂度 实现常见数据结构和算法 数据结构/算法 语言内置 内置库 线性结构 list(列表) ...

随机推荐

  1. Machine-learning-DecisionTree

    前言 决策树是一种自上而下,对样本数据进行树形分类的过程,由结点和有向边组成.结点分为内部结点和叶结点,其中每个内部结点表示一个特征或属性,叶节点表示类别.从顶部根节点开始,所有样本聚在一起,经过根节 ...

  2. Design Patterns in Android

    对日常在 Android 中实用设计模式进行一下梳理和总结,文中参考了一些网站和大佬的博客,如 MichaelX(xiong_it) .菜鸟教程.四月葡萄.IAM四十二等,在这里注明下~另外强烈推荐图 ...

  3. Git的安装与TortoiseGit的安装和汉化

    下载Git 进入https://git-scm.com/downloads 可以看到如下界面 因为我是windows系统,选择windows即可. 有的朋友因为网络慢的一些原因不能很快下载下来,可以进 ...

  4. Design Patterns | 01 为什么要尽早掌握设计模式

    标题:Design Patterns | 01 为什么要尽早掌握设计模式 链接: 标签:设计模式 摘要:设计模式是前人经验的总结,教大家如何写出可扩展.可读.可维护的高质量代码.设计模式与日常工作中的 ...

  5. 少用 string.Format

    如果你使用的是 C# 6.0 及其以上版本的话我建议你使用新增的 内插字符串 这个功能.这个功能可以更好的帮助开发人员设置字符串格式.下面我们就来看一下为什么要少用 string.Format 而要多 ...

  6. 第六周学习笔记,vc各类控件的输入输出

    6w学习笔记 vc控件的输入输出 单选按钮 当单击 RadioButton 控件时,其 Checked 属性设置为 true,并且调用 Click 事件处理程序.当 Checked 属性的值更改时,将 ...

  7. JS动画之缓动函数分析及动画库

    上一篇讲了JS动画定时器相关知识,这一篇介绍下缓动函数及流行的动画库. 熟悉的图 实际使用 jquery animate()+jquery.easing插件的使用: $(selector).anima ...

  8. 今夜我懂了Lambda表达式_解析

    现在时间午夜十一点~ 此刻的我血脉喷张,异常兴奋:因为专注得学习了一把java,在深入集合的过程中发现好多套路配合Lambda表达式真的是搜椅子,so开了个分支,决定从"只认得", ...

  9. docker 搭建本地私有仓库

    1.使用registry镜像创建私有仓库 安装docker后,可以通过官方提供的 registry 镜像来简单搭建一套本地私有仓库环境: docker run -d -p : registry: 这将 ...

  10. Spring Boot 自动装配流程

    Spring Boot 自动装配流程 本文以 mybatis-spring-boot-starter 为例简单分析 Spring Boot 的自动装配流程. Spring Boot 发现自动配置类 这 ...