python set内置函数的具体使用

yipeiwu_com6年前Python基础

set集合

  • 无序可变
  • 由不同元素组成
  • 其元素必须为可哈希的类型(通俗来说不可变类型)

集合的两种定义方式

  • 使用{} Eg:{1,2,3,4,5}
  • 使用set(可迭代类型)函数  Eg:set("hello")
  • * 使用frozenset()函数创建不可变集合

基本函数

s = set("hello")

"""
添加一个元素到集合中
"""
s.add('b')

"""
使用可迭代对象更新集合
"""
s.update([1,2,3,4])

"""
清空集合
"""
s.clear()

"""
拷贝集合(浅拷贝)返回拷贝的副本
"""
s.copy()

"""
随机删除一个元素
如果集合为空返回KeyError异常
"""
s = set("hello")
s.pop()

"""
删除指定元素 没有该元素会报错
"""
s.remove('e')

"""
删除指定元素 没有不报错
"""
s.discard('e')

集合交、并、差、交叉补

s1 = {1,2,3,4,5}
s2 = {1,2,3,6,7}

"""
交集
>>> s1.intersection(s2)
{1, 2, 3}
>>> s1&s2
{1, 2, 3}
"""
s1.intersection(s2)
s1&s2

"""
并集
>>> s1.union(s2)
{1, 2, 3, 4, 5, 6, 7}
>>> s1|s2
{1, 2, 3, 4, 5, 6, 7}
"""
s1.union(s2)
s1|s2

"""
差集
>>> s1.difference(s2)
{4, 5}
>>> s1-s2
{4, 5}
"""
s1.difference(s2)
s1-s2


"""
交叉补集(取各自的不同部分)
>>> s1.symmetric_difference(s2)
{4, 5, 6, 7}
"""
s1.symmetric_difference(s2)

"""
其他update函数
"""
s1.difference_update(s2)
s1.intersection_update(s2)
s1.symmetric_difference_update(s2)

is判断函数

s1 = {1,2,3}
s2 = {1,2}

"""
返回两个集合是否有交集
"""
s1.isdisjoint(s2)

"""
返回s1是否为s2子集
"""
s1.issubset(s2)

"""
返回s1是否为s2父集
"""
s1.issuperset(s2)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

django自定义Field实现一个字段存储以逗号分隔的字符串

实现了在一个字段存储以逗号分隔的字符串,返回一个相应的列表 复制代码 代码如下:from django import formsfrom django.db import modelsf...

python安装virtualenv虚拟环境步骤图文详解

python安装virtualenv虚拟环境步骤图文详解

一、安装virtualenv 点击左下角最边上菜单栏输入cmd,打开命令行 2.根据版本的不同输入命令pip install virtualenv(或者pip3 install vir...

python监控进程脚本

本文实例为大家分享了python监控进程脚本的具体代码,供大家参考,具体内容如下 原理: 监控一个指定进程,每隔5秒钟获取其CPU、内存使用量超过60%即kill掉该进程,获取其句柄数,...

python实现的各种排序算法代码

复制代码 代码如下:# -*- coding: utf-8 -*-# 测试各种排序算法# link:www.jb51.net# date:2013/2/2 #选择排序def select...

Python获取单个程序CPU使用情况趋势图

Python获取单个程序CPU使用情况趋势图

本文定位:已将CPU历史数据存盘,等待可视化进行分析,可暂时没有思路。 前面一篇文章(/post/61956.htm)提到过在linux下如何用python将top命令的结果进行存盘,本...