Python基础数据类型之set集合

  • 一、set数据类型介绍
  • 二、set集合演示
  • 三、set集合中hash介绍
    • 1.哈希定义
    • 2.数据类型的hash和不可hash
    • 3.set中hash示例
  • 四、set集合的插入
    • 1.创建空集合
    • 2.set集合插入
  • 五、set集合的删除
  • 六、set集合的修改
  • 七、set的查询
  • 八、交集、并集、差集
  • 九、set的去重作用

一、set数据类型介绍

set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。

二、set集合演示

#  set集合-数据类型
m = {}
print(type(m))  # {}内为空时数据类型为字典
s = {1,2,3,3,4,"张三"}
print(s)
print(type(s))    # set集合的元素是无序的打印出来
D:\soft\python\python.exe D:/soft/pycharm/pycharmfile/py基础/02_python基础类型/13_set.py
<class 'dict'>
{1, 2, 3, 4, '张三'}
<class 'set'>Process finished with exit code 0

三、set集合中hash介绍

1.哈希定义

Hash,一般翻译做散列、杂凑,或音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。

2.数据类型的hash和不可hash

①不可哈希:python中的set集合进行数据存储的时候,需要对这些数据进行哈希计算,根据计算出的哈希值进行存储。
②可哈希的:不可变的数据类型,int, str , tuple, bool,
③不可哈希的:可变得数据类型,list,dict, set

3.set中hash示例

s = {1,2,3,3,4,"张三", []}
# print(s)
# print(type(s))
D:\soft\python\python.exe D:/soft/pycharm/pycharmfile/py基础/02_python基础类型/13_set.py
Traceback (most recent call last):File "D:/soft/pycharm/pycharmfile/py基础/02_python基础类型/13_set.py", line 17, in <module>s = {1,2,3,3,4,"张三", []}
TypeError: unhashable type: 'list'Process finished with exit code 1

四、set集合的插入

1.创建空集合

# s = set() # 创建空集合
# l = list()
# t = tuple()
# s = str()

2.set集合插入

s.add("张辽")
s.add("许诸")
s.add("赵云")
s.add("陆逊")
print(s)
D:\soft\python\python.exe D:/soft/pycharm/pycharmfile/py基础/02_python基础类型/13_set.py
{'陆逊', '张辽', '赵云', '许诸'}Process finished with exit code 0

五、set集合的删除

s.add("张辽")
s.add("许诸")
s.add("赵云")
s.add("陆逊")
print(s)s.remove("张辽")
print(s)
D:\soft\python\python.exe D:/soft/pycharm/pycharmfile/py基础/02_python基础类型/13_set.py
{'赵云', '陆逊', '张辽', '许诸'}
{'赵云', '陆逊', '许诸'}Process finished with exit code 0

六、set集合的修改

s.add("张辽")
s.add("许诸")
s.add("赵云")
s.add("陆逊")
print(s)# s.remove("张辽")
# print(s)# 想要修改,先删除,在新增
s.remove("张辽")
s.add("孙尚香")
print(s)
D:\soft\python\python.exe D:/soft/pycharm/pycharmfile/py基础/02_python基础类型/13_set.py
{'赵云', '陆逊', '许诸', '张辽'}
{'赵云', '陆逊', '孙尚香', '许诸'}Process finished with exit code 0

七、set的查询


s.add("张辽")
s.add("许诸")
s.add("赵云")
s.add("陆逊")
print(s)for item in s:print(item)
D:\soft\python\python.exe D:/soft/pycharm/pycharmfile/py基础/02_python基础类型/13_set.py
{'张辽', '陆逊', '赵云', '许诸'}
张辽
陆逊
赵云
许诸Process finished with exit code 0

八、交集、并集、差集

s1 = {"python", "shell", "ansible","ruby"}
s2 = {"zabbix", "linux", "shell", "nginx"}print(s1 & s2) #交集
print(s1.intersection(s2))
print(s1 | s2)   # 并集
print(s1.union(s2))print(s1 - s2) # 差集
print(s1.difference(s2))
D:\soft\python\python.exe D:/soft/pycharm/pycharmfile/py基础/02_python基础类型/13_set.py
{'shell'}
{'shell'}
{'nginx', 'linux', 'python', 'zabbix', 'shell', 'ruby', 'ansible'}
{'nginx', 'linux', 'python', 'zabbix', 'shell', 'ruby', 'ansible'}
{'ruby', 'python', 'ansible'}
{'ruby', 'python', 'ansible'}Process finished with exit code 0

九、set的去重作用

s1 = {"python", "shell", "ansible","ruby"}
s2 = {}
l = ["zabbix", "linux", "shell", "nginx""zabbix", "linux", "shell","nginx""zabbix", "linux", "shell", "nginx"]
print(l)
print(list(set(l))) # 去除重复,去重后的元素是无序的
D:\soft\python\python.exe D:/soft/pycharm/pycharmfile/py基础/02_python基础类型/13_set.py
['zabbix', 'linux', 'shell', 'nginxzabbix', 'linux', 'shell', 'nginxzabbix', 'linux', 'shell', 'nginx']
['nginx', 'shell', 'nginxzabbix', 'zabbix', 'linux']Process finished with exit code 0

Python基础数据类型之set集合相关推荐

  1. Python基础——数据类型—集合

    Python基础--数据类型-集合 Python基础--数据类型-集合 创建集合 快速查看元素是否在集合内 两个集合间的运算 集合a中包含,而集合b中不包含的元素 集合a或集合b中包含的所有元素 集合 ...

  2. python基础数据类型操作系统_python基础数据类型

    python变量名里面 不能使用系统自带的关键字 不能有符号 不能使用数字作为开头 大小写敏感 变量名是没有类型的  是变量名所引用对象的数据类型 变量无须一些括号来括起来 python数据类型的可变 ...

  3. 一木.溪桥学Python-04: Python基础数据类型int ,float ,bool ,complex,None,str, 转义字符

    一木.溪桥 在Logic Education跟Amy学Python 12期:Python基础课 一木.溪桥学Python-04: Python基础数据类型int ,float ,bool ,compl ...

  4. python基础数据类型之列表,元组(基础二)

    第四章 python基础数据类型之列表,元组(基础二) python常用数据类型之组合数据类型:列表,元组. 4.1 列表 list 列表介绍 列表是python的基础数据类型之⼀ ,其他编程语⾔言也 ...

  5. Python基础(06)——集合(set、frozenset)

    Python基础(06)--集合(set.frozenset) 集合是无序无索引的集合,在Python中集合用花括号表示,字典也用花括号表示. 1.set的定义 创建集合:集合种的集合项可以是不同数据 ...

  6. Python运维开发(CMDB资产管理系统)——Python基础数据类型

    Python基础数据类型 字符串(可以通过单引号,双引号,三个双引号来表示) 布尔(True和False) 整数 浮点数 列表 定义一个列表 列表常用的一些函数 append(向列表中添加元素,元素可 ...

  7. Python基础数据类型之字符串(二)

    Python基础数据类型之字符串(二) 一.字符串的常规操作 二.字符串的大小写转换 1.首字母大写 2. 每个单词首字母大写 3.大写转化为小写 4.所有字母变成大写字母 二.验证码忽略大小写 三. ...

  8. Python基础数据类型之字符串(一)

    Python基础数据类型之字符串(一) 一.字符串格式化 1.字符串占位符 2.字符串格式化操作 二.f-string格式化 三.字符串的索引 四.字符串的切片 1.常规切片使用方法 3.步长的介绍 ...

  9. Python基础——数据类型—元组

    Python基础--数据类型-元组 Python基础--数据类型-元组 元组的创建 访问元组 元组的拼接 元组中的元素是不允许进行修改和删除的,但是可以删除整个元组 元组的运算符 打印元组元素 元组的 ...

最新文章

  1. jquery配合.NET实现点击指定绑定数据并且能够一键下载
  2. mysql半同步复制
  3. 设计模式-单例模式(1)
  4. Weka java.lang.reflect.InvocationTargetException
  5. 打印product所assign的product category和hierarchy的小工具
  6. 第十篇 数据类型总结
  7. SpringBoot2 集成 skywalking 实现链路追踪
  8. python 拟牛顿法 求非线性方程_C语言实现迭代法求非线性方程的根
  9. 大容量NoSql解决方案:Aerospike实战
  10. Linux内核设计第四周——扒开系统调用三层皮
  11. 使用Apache的ab工具进行压力测试
  12. 配置hadoop 使用fair scheduler调度器
  13. 无法在此设备上查看受保护内容_细说丨你想要的Excel保护与加密都在这里
  14. java内存管理机制-转载保存有价值的东西
  15. Sakai Demo搭建及遇到的问题汇总
  16. 18、TWS和IB中的错误处理信息
  17. 他25岁进贝尔实验室,32岁提信息论,40岁办达特茅斯会议,晚年患上阿兹海默 | 人物志...
  18. 《天涯明月刀》服务器端3D引擎设计与开发
  19. 三级分销系统产品设计原理
  20. 前后端分离整合阿里云OSS图片上传功能

热门文章

  1. 领域驱动设计系列文章汇总
  2. 虚拟机下安装vmware tools
  3. GIS开发随笔(3)——ArcXML和NET_Link方法
  4. *103.编译的过程
  5. 国家发改委:春运期间推动“健康码”全国一码通行
  6. 微软向马斯克的人工智能项目OpenAI投资10亿美元
  7. php过滤手机特殊字符,php过滤特殊字符实用函数
  8. python cv release_Python cv.GetSize方法代码示例
  9. java socket wex5_WeX5集成ActiveMQ+WebSocket实现消息推送
  10. laravel模板写php代码,Laravel框架之blade模板新手入门教程及小技巧