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 相关文章推荐
Python3.x和Python2.x的区别介绍
Feb 12 Python
深入分析在Python模块顶层运行的代码引起的一个Bug
Jul 04 Python
Python with用法实例
Apr 14 Python
python关闭windows进程的方法
Apr 18 Python
在Django的通用视图中处理Context的方法
Jul 21 Python
python学习教程之使用py2exe打包
Sep 24 Python
Python在不同目录下导入模块的实现方法
Oct 27 Python
对python3中, print横向输出的方法详解
Jan 28 Python
浅谈python中get pass用法
Mar 19 Python
pytorch 可视化feature map的示例代码
Aug 20 Python
python TK库简单应用(实时显示子进程输出)
Oct 29 Python
wxPython实现带颜色的进度条
Nov 19 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 魔术方法详解
2014/11/11 PHP
wamp服务器访问php非常缓慢的解决过程
2015/07/01 PHP
php实现微信支付之现金红包
2018/05/30 PHP
javascript attachEvent和addEventListener使用方法
2009/03/19 Javascript
突发奇想的一个jquery插件
2010/11/19 Javascript
javascript页面渲染速度测试脚本分享
2014/04/15 Javascript
浅谈JavaScript 框架分类
2014/11/10 Javascript
推荐4个原生javascript常用的函数
2015/01/12 Javascript
JavaScript返回网页中超链接数量的方法
2015/04/03 Javascript
jQuery如何解决IE输入框不能输入的问题
2016/10/08 Javascript
JavaScript中的一些隐式转换和总结(推荐)
2017/12/22 Javascript
javaScript 连接打印机,打印小票的实例
2017/12/29 Javascript
React实现全局组件的Toast轻提示效果
2018/09/21 Javascript
分享JS表单验证源码(带错误提示及密码等级)
2020/01/05 Javascript
解决vue cli4升级sass-loader(v8)后报错问题
2020/07/30 Javascript
Python中random模块生成随机数详解
2016/03/10 Python
Python 含参构造函数实例详解
2017/05/25 Python
Python实现加载及解析properties配置文件的方法
2018/03/29 Python
Python实现将字符串的首字母变为大写,其余都变为小写的方法
2019/06/11 Python
详解python调用cmd命令三种方法
2019/07/08 Python
Django Python 获取请求头信息Content-Range的方法
2019/08/06 Python
python实现的汉诺塔算法示例
2019/10/23 Python
numpy.transpose()实现数组的转置例子
2019/12/02 Python
利用Python批量识别电子账单数据的方法
2021/02/08 Python
菲律宾票务网站:StubHub菲律宾
2018/04/21 全球购物
日本化妆品植村秀俄罗斯官方网站:Shu Uemura俄罗斯
2020/02/01 全球购物
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
2016/10/06 面试题
外语专业毕业生个人的自荐信
2013/11/19 职场文书
大学生标准推荐信范文
2013/11/25 职场文书
奥巴马英文演讲稿
2014/05/15 职场文书
大学英语专业求职信
2014/06/21 职场文书
旷工辞退通知书
2015/04/17 职场文书
教师网络培训心得体会
2016/01/09 职场文书
2019同学聚会主持词
2019/05/06 职场文书
教你使用TensorFlow2识别验证码
2021/06/11 Python
【海涛教你打DOTA】黑鸟第一视角解说
2022/04/01 DOTA