首页 > 编程语言 >Python集合类型及操作

Python集合类型及操作

时间:2022-12-26 20:07:04浏览次数:35  
标签:set Python 创建 元素 item add 类型 集合


文章目录

  • ​​一. 集合类型概述(set)​​
  • ​​1. 定义​​
  • ​​2. 特点​​
  • ​​二. 集合的创建与访问​​
  • ​​1. 直接创建集合​​
  • ​​(1). 定义​​
  • ​​(2). 语法​​
  • ​​(3). 举例​​
  • ​​(4). 注意​​
  • ​​2. 使用set()函数创建集合​​
  • ​​(1). 定义​​
  • ​​(2). 语法​​
  • ​​(3). 举例​​
  • ​​(4). 注意​​
  • ​​3. 集合的访问​​
  • ​​三. 集合的基本操作​​
  • ​​1. 集合处理方法​​
  • ​​2. 常见集合元素操作​​
  • ​​(1). 添加元素​​
  • ​​1. s.add(item)​​
  • ​​2. s.update(items)​​
  • ​​(2). 删除元素​​
  • ​​1. s.remove(item)​​
  • ​​2. s.discard(item)​​
  • ​​3. s.pop()​​
  • ​​4. s.clear()​​
  • ​​(3). 成员判断​​
  • ​​1. item in s​​
  • ​​四. 集合的数学运算​​
  • ​​1. 集合操作符​​
  • ​​(1). 集合操作符​​
  • ​​(2). 集合间操作​​
  • ​​五. 集合类型应用场景​​
  • ​​1. 包含关系比较​​
  • ​​2. 数据去重:集合类型所有元素无重复​​

一. 集合类型概述(set)

1. 定义

Python语言中的集合和数学上概念上的集合类似,被用来存放一组无序且互不相同的元素。

2. 特点

组成集合的元素不可更改,必须是不可变数据类型

集合是多个元素的无序组合

集合中的每个元素唯一,不存在相同的元素

不可变数据类型:整数、浮点数、复数、字符串类型、元组类型

二. 集合的创建与访问

1. 直接创建集合

(1). 定义

集合的创建和字典类似,也是直接将元素放在一对{ }中,元素之间使用,分隔

(2). 语法

set1 = {元素1, 元素2,...}

(3). 举例

>>> set1 = {6,3,3,(5,6),"str",8.8}
>>> set1
{3, 6, 'str', 8.8, (5, 6)}

注:集合中包含重复元素3,但是完成创建之后的集合,只保留了一个

(4). 注意

在使用空的set1= { }直接创建的是字典,而不是集合

创建空的集合不可以使用{ }

2. 使用set()函数创建集合

(1). 定义

Python内置函数set()用来将序列转换为集合,在转换的过程中重复的元素只会保留一个

(2). 语法

s1 = set(序列类型元素)

注set()函数最多只能设定一个参数
并且序列类型数据不能是字典

(3). 举例

>>> s1 = set("Hello world!")
>>> s2 = set([1,2,3,4,2,1,5])
>>> s3 = set((1,2,"str"))
>>> s1
{'H', 'e', 'r', 'w', 'd', 'l', ' ', '!', 'o'}
>>> s2
{1, 2, 3, 4, 5}
>>> s3
{'str', 1, 2}

注:set()函数在将序列转换为集合时自动去掉重复项

(4). 注意

创建空的集合不能使用一对{ },这样创建的是个空字典

只能使用不带参数的set()函数

语法:

>>> s1 = set()
>>> type(s1)
<class 'set'>

3. 集合的访问

集合的元素是无序的,也没有键和值的概念,所以集合元素的访问

要么通过集合名整体输出

要么通过for循环实现元素的遍历

三. 集合的基本操作

1. 集合处理方法

Python集合类型及操作_删除元素


Python集合类型及操作_集合类型_02

2. 常见集合元素操作

(1). 添加元素

1. s.add(item)

将参数item作为元素添加到集合s中,如果item是序列,则将其作为一个元素整体加入集合

作为参数的item只能是不可变的数据
>>> s
{2, 3, 4}
>>> s.add({1,2})
Traceback (most recent call last):
File "<pyshell#19>", line 1, in <module>
s.add({1,2})
TypeError: unhashable type: 'set'

>>> s.add([1,2])
Traceback (most recent call last):
File "<pyshell#20>", line 1, in <module>
s.add([1,2])
TypeError: unhashable type: 'list'

注:这时候会报错。原因是set 加入的元素得不可hash的。

那么哪些是可哈希元素?哪些是不可哈希元素?
可哈希的元素有:int、float、str、tuple
不可哈希的元素有:list、set、dict

为什么 list 是不可哈希的,而 tuple 是可哈希的
(1)因为 list 是可变的在它的生命期内,你可以在任意时间改变其内的元素值。
(2)tuple却不可以改变它的值

2. s.update(items)

将参数序列items中的元素拆分去重之后加入集合

参数items可以是可变数据

(2). 删除元素

1. s.remove(item)

将指定元素item从集合s中删除

如果元素item在集合中不存在,系统会报错

2. s.discard(item)

将指定元素item从集合s中删除,
如果item在集合中不存在,系统正常执行,无任何输出

3. s.pop()

从集合s中随机删除并返回这一个删除的元素

4. s.clear()

清空集合中的所有元素
但是集合任然存在

(3). 成员判断

1. item in s

判断元素item是否在集合s中,
若在,返回True
若不在,返回False

可配合remove()函数使用

四. 集合的数学运算

1. 集合操作符

(1). 集合操作符

Python集合类型及操作_操作符_03

(2). 集合间操作

Python集合类型及操作_集合类型_04


Python集合类型及操作_python_05


Python集合类型及操作_删除元素_06

五. 集合类型应用场景

1. 包含关系比较

Python集合类型及操作_删除元素_07

2. 数据去重:集合类型所有元素无重复

Python集合类型及操作_python_08


标签:set,Python,创建,元素,item,add,类型,集合
From: https://blog.51cto.com/u_15923298/5970745

相关文章

  • Python网络爬虫概述
    文章目录​​一.掌握定向网络数据爬取和网页解析的基本能力​​​​二.python开发工具选择​​​​1.文本工具类IDE​​​​2.集成工具类IDE​​一.掌握定向网络数据爬......
  • Python文件与异常
    文章目录​​一.文件的基础知识​​​​1.文件与文件类型​​​​(1).定义​​​​(2).文件名的组成​​​​(3).文件类型​​​​2.目录与文件路径​​​​(1).目录......
  • Python安装教程
    一.Python需要安装什么因为Python是跨平台的,它可以运行在Windows、Mac和各种Linux/Unix系统上。在Windows上写Python程序,放到Linux上也是能够运行的。把Python安装到你的电......
  • python解析rosbag
      #coding:utf-8#!/usr/bin/python#Extractimagesfromabagfile.importsysimportosimportroslib#roslib.load_manifest(PKG)importrosbagimpo......
  • Python常用库的使用
    文章目录​​一.Python计算生态​​​​二.如何导入第三方库​​​​方式一:pip命令行直接安装​​​​方法二:手动下载第三方库,再使用pip安装(适用部分库直接pip安装失败)​......
  • 基本数据类型
    任何类型的和字符串相加,最后都是字符串类型true和false参加加法时,true当一来看,false当0看undefind参加加减aN乘除时,最后显示NaNnull表示空的null也是一种数据类型,他表......
  • 隐私集合求交(PSI)协议研究综述
    摘要隐私集合求交(PSI)是安全多方计算(MPC)中的一种密码学技术,它允许参与计算的双方,在不获取对方额外信息(除交集外的其它信息)的基础上,计算出双方数据的交集。隐私集合求交在数......
  • 对象数据类型
      代码示例:<!DOCTYPEhtml><html><head><metacharset="utf-8"><title></title></head><body><script>va......
  • 7. str|list|dict|tupe类型转换
    类型的转换#常用的字符串转换#int、str、bool、list、tuple、dict、None#1.int和strv1=int('123')v2=str(123)#2.list和tuplev3=tuple([1,2,3,4])......
  • Python拷贝文件,拷贝指定目录下的所有pdf文件到另一个目录
    importosimportshutildata=os.walk(r'D:\a\b')DPATH=r'D:\pdf_file'forpath,file_dir,file_listindata:#print(path,file_list)forfile_nameinfile_li......