集合的定义

  由一个或多个确定的元素所构成的整体

可变集合

 s=set('hello')
print(s) # {'e', 'l', 'o', 'h'} s=set(['alex','alex','Lucy'])
print(s) # {'alex', 'Lucy'} s = {1,2,3,4,5,6,7}
print(s)

不可变集合

 s = {1,2,3,4,5,6,7}
print(s) # {1, 2, 3, 4, 5, 6, 7}
# 改为不可变集合
fs = frozenset(s)
print(fs) # frozenset({1, 2, 3, 4, 5, 6, 7})

集合的特性

  1、确定性(元素必须可hash)

   2、互异性(去重)

   3、无序性(集合中的元素没有先后之分,如集合{3,4,5}和{3,5,4}算作同一个集合)

    注:集合存在的意义:去重和关系运算

去重

 p_li = [1,2,3,4,3,5]
# 去重
p_s = set(p_li)
print(p_s) # {1, 2, 3, 4, 5}

集合的关系运算

 p_s1 = {'张三','王五','李四'}
p_s2 = {'李四','王五','赵六'}
# 交集
print(p_s1.intersection(p_s2)) # {'李四', '王五'}
print(p_s1&p_s2) # {'李四', '王五'}
# 并集
print(p_s1.union(p_s2)) # {'张三', '李四', '王五', '赵六'}
print(p_s1|p_s2) # {'张三', '李四', '王五', '赵六'}
# 差集【A-交集】
print(p_s1.difference(p_s2)) # {'张三'}
print(p_s1-p_s2) # {'张三'}
# 对称差集【并集-交集】
print(p_s1.symmetric_difference(p_s2)) # {'赵六', '张三'}
print(p_s1^p_s2) # {'赵六', '张三'}
# A更新为交集
# p_s1.intersection_update(p_s2)
# A更新为差集
# p_s1.difference_update(p_s2)
# A更新为对称差集
# p_s1.symmetric_difference_update()
# print(p_s1)

集合的内置函数

常见

 s = {1,2,3,4,5,6,7}
print(s) # {1, 2, 3, 4, 5, 6, 7}
# 添加
s.add('a')
print(s) # {1, 2, 3, 4, 5, 6, 7, 'a'}
# 清空
s.clear()
print(s) # set() s = {1,2,3,4,5,6,7}
# 随机删除
s.pop()
print(s)
s = {1,2,3,4,5,6,7}
# 指定删除,若无报错
s.remove(5)
print(s)
s = {1,2,3,4,5,6,7}
# 指定删除,若无不报错
s.discard(8)
print(s)

补充

 s = {1,2}
print(s) # {1, 2}
# 单个元素的增加
s.add(3)
print(s) # {1, 2, 3}
# 多个元素的增加
s.update([3,4],[7,8])
print(s) # {1, 2, 3, 4, 7, 8}
s.update('hello')
print(s) # {1, 2, 3, 4, 'o', 7, 8, 'e', 'l', 'h'}

其他

 p_s1 = {'张三','王五','李四'}
p_s2 = {'李四','王五','赵六'}
# 判断两个集合是不是相交
print(p_s1.isdisjoint(p_s2))
# 判断集合是不是包含其他集合
print(p_s1.issuperset(p_s2))
# 判断集合是不是被其他集合包含
print(p_s2.issubset(p_s2))

Python开发——数据类型【集合】的更多相关文章

  1. python基础数据类型--集合(set)

    python基础数据类型--集合(set) 集合是一个数学概念由一个或多个确定的元素所构成的整体叫做集合 集合中的三个特征 1.确定性(元素必须死可hash) 2.互异性(去重) 3.无序性(集合中的 ...

  2. Python开发——数据类型【字符串】

    字符串定义 字符串是一个有序的字符的集合,用于存储和表示基本的文本信息 在Python中加了引号的字符,都被认为是字符串! 单引号.双引号.多引号之间的区别? 答案:单双引号没有区别 多引号的作用? ...

  3. Python开发——数据类型【字典】

    字典的定义 # Python语言中唯一的类型映射 # 键与值之间用“:”分开 # 项与项之间用“,”分开 person = {"name":"yuan",&qu ...

  4. Python之路(第五篇) Python基本数据类型集合、格式化、函数

    一.变量总结 1.1 变量定义 记录某种状态或者数值,并用某个名称代表这个数值或状态. 1.2 变量在内存中的表现形式 Python 中一切皆为对象,数字是对象,列表是对象,函数也是对象,任何东西都是 ...

  5. Python基本数据类型集合、格式化、函数

    一.变量总结 1.1 变量定义 记录某种状态或者数值,并用某个名称代表这个数值或状态. 1.2 变量在内存中的表现形式 Python 中一切皆为对象,数字是对象,列表是对象,函数也是对象,任何东西都是 ...

  6. python基本数据类型集合set操作

    转:https://www.cnblogs.com/tina-python/p/5468495.html 一.集合的定义 set集合,是一个无序且不重复的元素集合. 集合对象是一组无序排列的可哈希的值 ...

  7. Python开发——数据类型【列表】

    列表的定义 中括号[]内以逗号分隔开,按照索引,存放各种数据类型,每个位置代表一个元素 list_t = ['张三','Lucy',123] print(list_t) # ['张三', 'Lucy' ...

  8. Python开发——4.集合和字符串拼接

    一.集合(set) 1.集合的特性: 不同元素组成.元素是无序排列的可hash值 2.集合转为列表 s1 = {11,"hechouzi",(11,22,33)} names = ...

  9. python基本数据类型——集合

    集合 无序可变序列,集合中元素不允许重复,即每个元素都是唯一的 集合中的元素按照升序排列 # 创建集合 >>aset = set([0,2,4,5,7,2,3,5,9,0]) >&g ...

随机推荐

  1. go环境变量与sublime Text3开发工具

    环境:win7   1:下载安装包 (下载太慢了,上传至百度网盘了) 链接:https://pan.baidu.com/s/10wHOR01mW-kjdkynqu1F-g 密码:kv71   2:安装 ...

  2. git项目提交后执行添加忽略操作

    需要删除文件暂存区中的忽略文件 git rm -r --cached 需要忽略的已提交文件或文件夹 eg: git rm -r --cached target/

  3. Ubuntu 16.04 LTS 常用快捷键

    在Linux下Win键就是Super键 启动器 Win(长按) 打开启动器,显示快捷键 Win + Tab 通过启动器切换应用程序 Win + 1到9 与点击启动器上的图标效果一样 Win + Shi ...

  4. javascript mqtt 发布订阅消息

    js client使用paho-mqtt,官网地址:http://www.eclipse.org/paho/,参考http://www.eclipse.org/paho/clients/js/官网给出 ...

  5. os.rename 和os.replace

    f1 = open("hello.txt","w") f1.write("hello,my name is bobo.") f1.close ...

  6. Android之MainActivity类

    一.MainActivity: 1.每个种语言都有一个程序入库(如:C#main函数),而Android程序的入口就是Mani Actiivty函数. 2.Activity是Android的核心类(a ...

  7. yum安装下的nginx,如何添加模块,和添加第三方模块

    需求:生产有个接口是通过socket通信.nginx1.9开始支持tcp层的转发,通过stream实现的,而socket也是基于tcp通信. 实现方法:Centos7.2下yum直接安装的nginx, ...

  8. atom常用插件

    汉化 simplified-chinese-menureact atom-react-snippets-0.5.0polymer atom-polymer-0.13.0polymer Atom-Pol ...

  9. JAVA方法参数传递

    package demo.methodparamDemo; public class MethodParamsDemo { public static void main(String[] args) ...

  10. SpringBoot中常用注解@Controller/@RestController/@RequestMapping的区别

    @Controller 处理http请求 @Controller //@ResponseBody public class HelloController { @RequestMapping(valu ...