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函数缺省值与引用学习笔记分享
Feb 10 Python
Python中使用items()方法返回字典元素对的教程
May 21 Python
Python使用openpyxl读写excel文件的方法
Jun 30 Python
Python3.5.3下配置opencv3.2.0的操作方法
Apr 02 Python
python 读取鼠标点击坐标的实例
Dec 29 Python
python调用matlab的m自定义函数方法
Feb 18 Python
python实现合并多个list及合并多个django QuerySet的方法示例
Jun 11 Python
如何用Python来理一理红楼梦里的那些关系
Aug 14 Python
Django框架下静态模板的继承操作示例
Nov 08 Python
python如何进行矩阵运算
Jun 05 Python
Python如何给函数库增加日志功能
Aug 04 Python
Python中字符串对象语法分享
Feb 24 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
天津市收音机工业发展史
2021/03/04 无线电
PHP基于curl post实现发送url及相关中文乱码问题解决方法
2017/11/25 PHP
PHP与Web页面的交互示例详解二
2020/08/04 PHP
Jquery 基础学习笔记
2009/05/29 Javascript
jquery.validate使用攻略 第一部
2010/07/01 Javascript
IE下js调试工具Companion.JS
2010/10/15 Javascript
javascript克隆对象深度介绍
2012/11/20 Javascript
指定区域的图片自动按比例缩小的js代码(防止页面被图片撑破)
2014/02/21 Javascript
JavaScript从数组中删除指定值元素的方法
2015/03/18 Javascript
JS+CSS实现的日本门户网站经典选项卡导航效果
2015/09/27 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
2016/08/25 Javascript
浅谈JS之tagNaem和nodeName
2016/09/13 Javascript
微信小程序 倒计时组件实现代码
2016/10/24 Javascript
AngularJS压缩JS技巧分析
2016/11/08 Javascript
微信小程序 图片等比例缩放(图片自适应屏幕)
2016/11/16 Javascript
js判断PC端与移动端跳转
2020/12/24 Javascript
简单谈谈axios中的get,post方法
2017/06/25 Javascript
vue+vuex+axios实现登录、注册页权限拦截
2018/03/09 Javascript
vue使用rem实现 移动端屏幕适配
2018/09/26 Javascript
微信小程序实现笑脸评分功能
2018/11/03 Javascript
JS三级联动代码格式实例详解
2019/12/30 Javascript
基于postman获取动态数据过程详解
2020/09/08 Javascript
深入讲解Python编程中的字符串
2015/10/14 Python
Python 爬虫爬取指定博客的所有文章
2016/02/17 Python
CentOS 6.5中安装Python 3.6.2的方法步骤
2017/12/03 Python
Python 调用 zabbix api的方法示例
2019/01/06 Python
Python + selenium + crontab实现每日定时自动打卡功能
2020/03/31 Python
django中related_name的用法说明
2020/05/20 Python
幼师自荐信
2013/10/26 职场文书
体育教育毕业生自荐信
2013/11/21 职场文书
2014升学宴答谢词
2014/01/26 职场文书
办公室主任竞聘演讲稿
2014/05/15 职场文书
525心理活动总结
2014/07/04 职场文书
党员四风剖析材料
2014/08/27 职场文书
劳动仲裁撤诉申请书
2015/05/18 职场文书
信用卡收入证明范本
2015/06/12 职场文书