首页 > 编程语言 >Python-集合的基本操作(set)

Python-集合的基本操作(set)

时间:2023-04-27 18:13:45浏览次数:56  
标签:set Python 元素 update print set1 set2 集合 基本操作

1. 前言

python中的集合和数学里的类似也是用于存放不重复的元素,它有可变集合(set)和不可变集合(feozenset)两种,集合的所有元素都放在一对大括号"{}"里(列表是[]、元组是()、字典是{}),集合最好的应用就是去重,因为集合中的每一个元素都是唯一的。

 

2. 集合的创建

2.1.直接使用"{}"创建

格式:集合名={element  1,element  2,......,element  n}

在创建集合时,如果输入了重复的元素,python会自动只保留一个。

举例

set1={1,2,3,4,5,6,1}
print(set1)

2.2.用set()函数创建

将列表、元组等其他可迭代对象转换为集合

格式:集合名=set(iteration)

iteration表示要转换为集合的可迭代对象

举例

lst=[1,2,3,4,5,6,1]
set1=set(lst)
print(set1)

注意:在创建空集合时,只能使用set()实现,而不能使用大括号"{}"实现,在python里,直接使用一对大括号"{}"表示创建一个空字典

 

3. 修改集合中的元素

3.1. 向集合添加元素

add()方法

格式:集合名.add(element)

注意:element表示要添加的元素内容,只能是字符串、数字、布尔类型等,不能是列表、元组等可迭代对象。

举例

set1={1,2,3,4,5}
print(set1)

set1.add(6)
print(set1)

 

update()方法

update方法也可以添加元素,且参数可以是列表,元组,字典等。

格式:集合名.update()

举例

set2 = set(("Google", "Runoob", "Taobao"))
set2.update({1,3})
print(set2)
#{1, 3, 'Google', 'Taobao', 'Runoob'}
set2.update([1,4],[5,6])  
print(set2)
#{1, 3, 4, 5, 6, 'Google', 'Taobao', 'Runoob'}

 

3.3.从集合中删除元素

使用del命令可以删除整个集合;

使用pop()删除第一个元素;

使用remove()可以删除指定一个元素;

使用clear()可以使删除集合中所有元素,使其变为空集合;

使用discard()移除集合中的元素,且如果元素不存在,不会发生错误。

 

del命令举例

set1={1,2,3,4,5}
del set1
print(set1)

 

pop()/remove()举例

set1={1,2,3,4,5}
set1.pop()
print(set1)

set1.remove(4)
print(set1)

 

clear()举例

set1={1,2,3,4,5}
set1.clear()
print(set1)

 

discard()举例

set1={1,2,3,4,5}
set1.discard(7)
print(set1)

 

4. 遍历集合的元素

# 遍历集合

for s in set1:
    print(2)

 

5. 判断是否在集合中

s in set1

判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False。

 

6. 计算集合元素个数

len(set1)

 

7. 集合的交集、并集和差集运算

4.1交集:&

4.2并集:|

4.3差集:-

 

举例

set1={1,2,3,4,5}
set2={3,4,5,6,7}

print(set1&set2)

print(set1|set2)

print(set1-set2)

 

8. 集合内置方法完整列表

方法

描述

add()

为集合添加元素

clear()

移除集合中的所有元素

copy()

拷贝一个集合

difference()

返回多个集合的差集

difference_update()

移除集合中的元素,该元素在指定的集合也存在。

discard()

删除集合中指定的元素

intersection()

返回集合的交集

intersection_update()

返回集合的交集。

isdisjoint()

判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。

issubset()

判断指定集合是否为该方法参数集合的子集。

issuperset()

判断该方法的参数集合是否为指定集合的子集

pop()

随机移除元素

remove()

移除指定元素

symmetric_difference()

返回两个集合中不重复的元素集合。

symmetric_difference_update()

移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。

union()

返回两个集合的并集

update()

给集合添加元素

标签:set,Python,元素,update,print,set1,set2,集合,基本操作
From: https://www.cnblogs.com/yeyuzhuanjia/p/17359865.html

相关文章

  • python-docx设置docx文档表格样式
    使用python-docx,设置docx文档第4行表格第3行第2列单元格的字体对齐方式、加粗fromdocximportDocumentfromdocx.enum.textimportWD_ALIGN_PARAGRAPH#加载Word文档doc=Document('example.docx')#获取表格并定位到指定单元格table=doc.tables[3]cell=table.ce......
  • Linux-Centos 用crontab定时运行python脚本详细步骤
    服务器总是要定时运行某个程序,而我在解决这个问题的时候遇到很多困难,特此记录下来。1.编辑crontab配置crontab-e服务器一般会安装好crontab,若没有安装请按命令安装yuminstallcrontabs2.编写配置文件当打开配置文件的时候,我们可以看到类似的配置代码。每一行都代表一个......
  • Python-字典的基本操作
    1.字典的创建1.1、直接赋值创建字典语法格式:变量名={键1:值1,键2:值2,...}info={'第一个':0,"第二个":1,"第三个":2}print(info)1.2、使用内置函数dict()创建字典内置函数dict()可通过其他字典、“(键,值)”对的序列或关键字参数来创建字典。#创建空的字典info2=dict()#使......
  • Python MatplotlibDeprecationWarning Matplotlib 3.6 and will be removed two minor
    在Pycharm中使用Matplotlib中的pyplot时,运行代码报错:MatplotlibDeprecationWarning:SupportforFigureCanvaseswithoutarequired_interactive_frameworkattributewasdeprecatedinMatplotlib3.6andwillberemovedtwominorreleaseslater.解决方法File->Set......
  • Python中的运算符与优先级
    算术运算符这里仅列出与c++语法不一致的内容。指数a**b取模a%%b整除a//b比较运算符与c++语法完全相同,用于判断两个变量、常量或者表达式之间的大小,比较运算的结果是布尔类型。逻辑运算符与c++语法完全相同,对布尔型的常量、变量或表达式进行运算,逻辑运算的......
  • Python的OS模块分析文件路径层次信息——获取文件路径、全名(文件名+尾缀)
    Code:importosFilePath="/a/bb/ccc/dddd.png"FolderPath,FullFileName=os.path.split(FilePath)Name,Suffix=os.path.splitext(FullFileName)print("文件路径:{}\n文件全名:{}\n文件名:{}\n文件后缀:{}".format(FolderPath,FullFileName,Name,......
  • Python数据类型
    Python语言中有6个标准数据类型。不可变数据(3个):Number(数字)、String(字符串)、Tuple(元组);可变数据(3个):List(列表)、Dictionary(字典)、Set(集合)。有序数据:元组,列表无序数据:集合,字典数字number整型int正或负整数,不带小数点。可以使用十六进制数值来表示整数,十六进制整数的......
  • ipset命令详解
    Centos7ipset命令介绍及使用  ipset介绍iptables是在linux内核里配置防火墙规则的用户空间工具,它实际上是netfilter框架的一部分。可能因为iptables是netfilter框架里最常见的部分,所以这个框架通常被称为iptables,iptables是linux从2.4版本引入的防火墙解决方案。ip......
  • Python-字符串format方法指定参数
    一、字符串的format方法有几种指定参数的方式:(1)默认方式—传入的参数与{}一一对应(2)命名参数(3)未知参数{2}二、详细描述字符串的format方法如何格式化字符串:第一种方法:s1='Todayis{},thetemperatureis{}degrees.'print(s1.format('Saturday',24))第二种方法:s2='To......
  • MFC-CListCtrl-SetExtendedStyle设置扩展风格
       mylist.SetExtendedStyle(LVS_SHOWSELALWAYS|LVS_EX_CHECKBOXES|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);//设置扩展风格风格看:https://www.cnblogs.com/liming19680104/p/17358671.html   ......