python set集合使用方法解析


Posted in Python onNovember 05, 2019

这篇文章主要介绍了python set集合使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

定义

定义:在{}中用逗号隔开,集合具备以下3个特点:

1.每个元素必须是不可变类型

2.集合内没有重复元素

3.集合内元素无序

my_set = {1, 2, 3, 4}
# 本质上
my_set = set({1, 2, 3, 4})

# 注意1:列表是索引对应值,字典是key对应值,均可以取得单个值.
# 而集合类型既没有索引也没有key值相对应,所以无法取得单个的值.对集合来说
# 主要功能在于去重与关系元素,没有取出单个值的需求
# 注意2:{}既被用于定义字典也被用于定义集合.但是字典内的元素必须以key:value的形式.
# 如何准确的定义一个空集合?
my_set = {}
print(type(my_set))
my_set = set()
print(type(my_set))>>>
<class 'dict'>
<class 'set'>

类型转换

但凡能被for循环遍历输出的值(输出的值不能为可变数据类型)

my_set = set([1, 2, 3, 4, 5])  >>>{1, 2, 3, 4, 5}
my_set = set('string')     >>>{'t', 's', 'g', 'i', 'r', 'n'}
my_set = set((1, 2, 3, 4, 1))  >>>{1, 2, 3, 4}
my_set = set({'name':'yyh'})  >>>{'name'}

关系运算

friends1 = {'Albert', 'Tony', 'John', 'Egon', 'Sean'}
friends2 = {'Sean', 'Sor', 'Egon'}
print(friends1 | friends2) # 求合集
print(friends1 & friends2) # 求交集
print(friends1 - friends2) # 求差集 friends1中独有的
print(friends2 - friends1) # 求差集 friends2中独有的
print(friends1 ^ friends2) # 对称差集(去掉共有的好友后的合集)
print(friends1 == friends2) # 集合是否相等

print({1, 2, 3} >= {1, 2, 3}) # 包含关系
print({1, 2, 3} > {1, 2}) # 真包含关系
print({1, 2} < {1, 2, 3}) # 真子集
print({1, 2, 3} <= {1, 2, 3}) # 子集

去重

# 集合去重复有局限性,仅适用于不可变数据类型
# 集合本身是无序的, 去重之后无法保留原来的顺序
my_list = ['a', 'b', 1, 'a', 'b']
my_set = set(my_list)  # 列表转集合
print(my_set)
my_list = list(my_set) # 集合转列表
print(my_list)     # 去除了重复,但是打乱了顺序
# 针对可变类型,并且保证顺序则需要自己写代码实现
my_list = [
  {'name': 'lili', 'age': 18, 'sex': 'male'},
  {'name': 'jack', 'age': 73, 'sex': 'male'},
  {'name': 'tom', 'age': 20, 'sex': 'female'},
  {'name': 'lili', 'age': 18, 'sex': 'male'},
  {'name': 'lili', 'age': 18, 'sex': 'male'},
]
new_list = []
for i in my_list:
  if i not in new_list:
    new_list.append(i)

print(new_list)

练习

pythons = {'jason', 'egon', 'kevin', 'ricky', 'gangdan', 'biubiu'}
linuxs = {'kermit', 'tony', 'gangdan'}

print(f'即报名了python又报名了linux的学员有{pythons & linuxs}')
print(f'所有报名的学员{pythons | linuxs}')
print(f'只报名了python的学员{pythons - linuxs}')
print(f'只报名了其中一门的学员{pythons ^ linuxs}')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python魔法方法-自定义序列详解
Jul 21 Python
使用Python多线程爬虫爬取电影天堂资源
Sep 23 Python
python回调函数中使用多线程的方法
Dec 25 Python
Python之csv文件从MySQL数据库导入导出的方法
Jun 21 Python
利用Python如何生成便签图片详解
Jul 09 Python
Django实现表单验证
Sep 08 Python
python统计指定目录内文件的代码行数
Sep 19 Python
Tensorflow设置显存自适应,显存比例的操作
Feb 03 Python
解决django框架model中外键不落实到数据库问题
May 20 Python
python3检查字典传入函数键是否齐全的实例
Jun 05 Python
python按照list中字典的某key去重的示例代码
Oct 13 Python
python实现磁盘日志清理的示例
Nov 05 Python
基于python2.7实现图形密码生成器的实例代码
Nov 05 #Python
python中删除某个元素的方法解析
Nov 05 #Python
Django 框架模型操作入门教程
Nov 05 #Python
Python3.7 读取 mp3 音频文件生成波形图效果
Nov 05 #Python
python被修饰的函数消失问题解决(基于wraps函数)
Nov 04 #Python
Python imread、newaxis用法详解
Nov 04 #Python
Python使用微信接入图灵机器人过程解析
Nov 04 #Python
You might like
PHP中一个控制字符串输出的函数
2006/10/09 PHP
网站页面自动跳转实现方法PHP、JSP(下)
2010/08/01 Javascript
jQuery的12招常用技巧分享
2011/08/08 Javascript
基于KMP算法JavaScript的实现方法分析
2013/05/03 Javascript
alert中断settimeout计时功能
2013/07/26 Javascript
原生js实现改变随意改变div属性style的名称和值的结果
2013/09/26 Javascript
详解Javascript事件驱动编程
2016/01/03 Javascript
在WordPress中加入Google搜索功能的简单步骤讲解
2016/01/04 Javascript
JS 实现计算器详解及实例代码(一)
2017/01/08 Javascript
Jquery实时监听input value的实例
2017/01/26 Javascript
Java中int与integer的区别(基本数据类型与引用数据类型)
2017/02/19 Javascript
微信小程序使用slider设置数据值及switch开关组件功能【附源码下载】
2017/12/09 Javascript
详解操作虚拟dom模拟react视图渲染
2018/07/25 Javascript
jquery实现自定义树形表格的方法【自定义树形结构table】
2019/07/12 jQuery
vue使用i18n实现国际化的方法详解
2019/09/05 Javascript
js 计数排序的实现示例(升级版)
2020/01/12 Javascript
JS浏览器BOM常见操作实例详解
2020/04/27 Javascript
js数组的基本使用总结
2021/01/18 Javascript
[03:57]DOTA2英雄梦之声_第03期_幻影刺客
2014/06/21 DOTA
Python rstrip()方法实例详解
2018/11/11 Python
Python 3.8中实现functools.cached_property功能
2019/05/29 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
2019/08/05 Python
Python搭建代理IP池实现接口设置与整体调度
2019/10/27 Python
Python如何使用内置库matplotlib绘制折线图
2020/02/24 Python
Keras自动下载的数据集/模型存放位置介绍
2020/06/19 Python
全球最大最受欢迎的旅游社区:Tripadvisor
2017/11/03 全球购物
为什么UNION ALL比UNION快
2016/03/17 面试题
大专生自我评价
2014/01/28 职场文书
机关单位动员会主持词
2014/03/20 职场文书
初一学生期末评语
2014/04/24 职场文书
小学生国旗下演讲稿
2014/04/25 职场文书
德育标兵事迹材料
2014/08/24 职场文书
天坛导游词
2015/02/02 职场文书
感恩节寄语2015
2015/03/24 职场文书
2016医师资格考试考生诚信考试承诺书
2016/03/25 职场文书
Java spring定时任务详解
2021/10/05 Java/Android