集合的使用

  可变数据类型,他里面的元素必须是不可变的数据类型,无序,不重复。

集合的增删查

  集合是没有改这种说法的:

    (1)集合的元素无序的;

    (2)集合的元素为不可变类型

 增加

add    为集合新增一个元素

set1 = {'hkey', 'xiaofei', 'xixi', 'haha'}
set1.add('vivi') # 在集合中新增一个元素
print(set1) # 执行结果:
# {'xiaofei', 'vivi', 'haha', 'xixi', 'hkey'}

update    将字符串的每个元素作为独立的元素添加到集合中

set1 = {'hkey', 'xiaofei', 'xixi', 'haha'}
set1.update('abc') # 将字符串 abc 分别作为三个元素插入到集合中
print(set1) # 执行结果:
# {'c', 'xiaofei', 'xixi', 'hkey', 'a', 'haha', 'b'}

删除

pop    随机删除,有返回值

set1 = {'hkey', 'xiaofei', 'xixi', 'haha'}

print(set1.pop())   # 随机删除集合中的元素,并返回该元素
print(set1) # 执行结果:
# hkey
# {'xiaofei', 'xixi', 'haha'}

remove 按元素删除

set1 = {'hkey', 'xiaofei', 'xixi', 'haha'}

set1.remove('haha') # 按照元素删除
print(set1) # 执行结果:
# {'hkey', 'xixi', 'xiaofei'}

clear 清空列表

set1 = {'hkey', 'xiaofei', 'xixi', 'haha'}

set1.clear()    # 清空整个集合
print(set1) # 执行结果:
# set()

del 删除整个集合

set1 = {'hkey', 'xiaofei', 'xixi', 'haha'}

del set1

集合没有修改:1. 无序的;2. 不可变类型

查找

集合只能用 for 查看, 集合是可迭代序列

集合运算

集合运算功能包括:
        1. 消除重复元素;
        2. 关系测试

交集:& 和 并集:|

set1 = {1, 2, 3}
set2 = {2, 3, 4} print(set1 & set2) # 计算交集 # 执行结果:
# {2, 3} print(set1 | set2) # 计算并集 # 执行结果:
# {1, 2, 3, 4} # 集合中的元素是不可重复的

 反交集: ^  就是除了交集以外元素的集合

set1 = {1, 2, 3}
set2 = {2, 3, 4} print(set1 ^ set2) # 反交集 # 执行结果:
# {1, 4}

 差集:-  set1 - set2 : set1 而 set2 没有的元素的集合

set1 = {1, 2, 3, 4}
set2 = {2, 3, 4, 7} print(set1 - set2) # 执行结果:
# {1}

frozenset() 将集合可变类型转换为不可变类型;

set1 = {1, 2, 3, 4}
set2 = {2, 3, 4, 7} s1 = frozenset(set1)
print(s1, type(s1)) # 执行结果:
# frozenset({1, 2, 3, 4}) <class 'frozenset'>

[ python ] 集合的使用的更多相关文章

  1. Python 集合set添加删除、交集、并集、集合操作符号

    在Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 1. ...

  2. [转]python集合set

    Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 来源网 ...

  3. python集合使用范例的代码

    在代码过程中中,将代码过程中比较好的代码段珍藏起来,如下的代码是关于python集合使用范例的代码,希望能对大伙有用. # sets are unordered collections of uniq ...

  4. python集合与字典的用法

    python集合与字典的用法 集合: 1.增加  add 2.删除   •del 删除集合 •discard(常用)删除集合中的元素  #删除一个不存在的元素不会报错 •remove 删除一个不存在的 ...

  5. Python 集合内置函数大全(非常全!)

    Python集合内置函数操作大全 集合(s).方法名 等价符号 方法说明 s.issubset(t) s <= t 子集测试(允许不严格意义上的子集):s 中所有的元素都是 t 的成员   s ...

  6. Python 集合set()添加删除、交集、并集、集合操作详解

    集合:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次.每个元素的地位都是相同的,元素之间是无序的. 创建集合set python set类是在python的sets模块中,大家现在使 ...

  7. python集合可以进行相减

    python集合可以进行相减 student = {'tom','jim','mary','tom','jack','rose'} print(student) print('rose' in stu ...

  8. Python集合类型的操作与应用

    Python集合类型的操作与应用 一.Python集合类型 Python中的集合类型是一个包含0个或多个数据项的无序的.不重复的数据组合,其中,元素类型只能是固定数据类型,如整数.浮点数.字符串.元组 ...

  9. Python - 集合 - 第十一天

    Python 集合 集合(set)是一个无序的不重复元素序列. 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建 ...

  10. python集合set,交集,并集,差集,对称差集,子集和超集

    python集合set,交集,并集,差集,对称差集,子集和超集 x = {1, 2, 3, 4} y = {2, 4, 5, 6} # 交集(取x中与y中相同部分) print(x.intersect ...

随机推荐

  1. 第三周——构建一个简单的Linux系统MenuOS

    [洪韶武 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ] 第三周  构建一个 ...

  2. 洛谷 P1924 poj 1038

    Description: 给你一个n * m的方格纸,有一些格子无法被覆盖,然后用2*3的格子覆盖这个方格纸,问你最多能放多少个格子 神级状压 为了弄清楚这道题翻了无数篇解题报告,最后终于搞明白了 用 ...

  3. SP1487 PT07J - Query on a tree III (主席树)

    SP1487 PT07J - Query on a tree III 题意翻译 你被给定一棵带点权的n个点的有根数,点从1到n编号. 定义查询 query(x,k): 寻找以x为根的k大点的编号(从小 ...

  4. 图片虚拟目录--即图片保存在window硬盘上面

    这个是图片保存在电脑的硬盘上面的图片上传设置,既不是在web工程中,也不是在专门的图片服务器中,下面是配置方法: r 这里的Document base 我们这里设置为F:\images 如果在浏览器访 ...

  5. Rabbitmq -- rpc

    一.前言 MQ本身是基于异步的消息处理,前面的示例中所有的生产者(P)将消息发送到RabbitMQ后不会知道消费者(C)处理成功或者失败(甚至连有没有消费者来处理这条消息都不知道).但实际的应用场景中 ...

  6. javaFX8主要特性

    javaFX8主要特性 JavaAPIs:javaFX是用Java代码写的库,包含一系列的类和接口.这个APIs可以友好的替换java虚拟机语言,比如:JRuby和Scala. FXML and 场景 ...

  7. CentOS7.2下安装mongoDB3.2.8

    最近在又在倒腾MongoDB,把安装配置的相关命令贴出来 1.下载 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70- ...

  8. CentOS7,安装Tomcat8.5、JDK1.8,并设置开机启动(Linux CentOS Tomcat、JDK+Tomcat、Tomcat开机自启动)

    1.下载JDK1.8.Tomcat8 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.ht ...

  9. BZOJ2588:LCA+主席树来实现树上两点之间第K大点权查询

    对于每个节点维护这个节点到根的权值线段树 对于每个询问(x,y),这条路径上的线段树 tree[x]+tree[y]-tree[lca(x,y)]-tree[fa[lca(x,y)]] #includ ...

  10. HDU 5144 三分

    开始推导用公式求了好久(真的蠢),发现精度有点不够. 其实这种凸线上求点类的应该上三分法的,当作入门吧... /** @Date : 2017-09-23 21:15:57 * @FileName: ...