Python基础:元组的定义以及集合的使用详解

目录

一. 元组

1.1 元组的创建

1.2 元组的遍历

二. 集合

2.1 集合的创建

2.2 集合的新增

2.3 集合的删除

2.4 集合的关系

1. 两集合是否相等

2. 子集

3. 交集

2.5 集合的数学操作 

1. 交集

 2. 并集

 3. 差集

4.对称差集


一. 元组

元组是Python中的一个内置的数据结构,它是一个不可变的序列,所谓的不可变序列就是不可以进行增删改的操作。

1.1 元组的创建

元组的创建可以使用两种方式,第一种使用( ),第二种使用内置的函数tuple()进行创建。如果元组中的元素只有一个则需要加上逗号。

# author: 爪哇斗罗(javaDouLuo)
# date: 2022/7/13 21:06

# 元组的创建
tuple01 = (1, 2, 3, 4, 5,)
# <class 'tuple'>
print(type(tuple01))
# (1, 2, 3, 4, 5)
print(tuple01)
# 第二种方式
tuple02 = tuple((1, 2, 3, 4, 5))
# (1, 2, 3, 4, 5)
print(tuple02)
# 必须加逗号,不然是str类型
tuple03 = ('1',)
# <class 'tuple'>
print(type(tuple03))

1.2 元组的遍历

元组遍历使用for in的方式进行遍历:

# author: 爪哇斗罗(javaDouLuo)
# date: 2022/7/13 21:06

# 元组的创建
tuple01 = (1, 2, 3, 4, 5,)

# 1
# 2
# 3
# 4
# 5
for item in tuple01:
    print(item)

二. 集合

2.1 集合的创建

集合也是Python中的一个内置数据结构,是可变序列的。集合的定义是使用{ }进行定义的。与字典的区别就是没有value。

除了上面使用{ }声明集合外,还可以使用内置函数set()进行创建。此外,集合中的元素不可重复。

# author: 爪哇斗罗(javaDouLuo)
# date: 2022/7/14 22:19

# 使用{}创建
set01 = {1, 32, 3, 4, 5, 5, "12"}
# {32, 1, 3, 4, 5, '12'}
print(set01)

# 使用set()创建
set02 = set(range(0,5))
# {0, 1, 2, 3, 4}
print(set02)

2.2 集合的新增

集合新增使用有两种方式,分别是add()与update()方法。主要区别就是前者一次添加一个元素,后者一次可以添加多个元素。

# author: 爪哇斗罗(javaDouLuo)
# date: 2022/7/14 22:19

# 使用{}创建
set01 = {1, 32, 3, 4, 5, 5, "12"}
set01.add(100)
# {32, 1, '12', 3, 4, 5, 100}
print(set01)
set01.update({1,12,4})
# {32, 1, 3, 4, 5, 100, 12, '12'}
print(set01)

2.3 集合的删除

删除集合,主要提供了四种不同的方法,如下:

remove(): 删除指定元素,元素不存在抛异常

discard(): 删除指定元素,元素不存在不抛异常

pop(): 一次只删除一个任意元素

clear(): 清空集合

# author: 爪哇斗罗(javaDouLuo)
# date: 2022/7/14 22:19

# 使用{}创建
set01 = {1, 32, 3, 4, 5, 5, "12"}

# 删除1
set01.remove(1);
# 元素不存在抛异常:KeyError: 24
# set01.remove(24);
# {32, 3, 4, 5, '12'}
print(set01)
# 删除任意一个元素
set01.pop();
# {3, 4, 5, '12'}
print(set01)
set01.discard(24)
# 元素不存在不抛出异常 {3, 4, 5, '12'} 
print(set01)
set01.clear()
# 清空集合 set()
print(set01)

2.4 集合的关系

集合的关系有三种,分别是两集合是否相等,是否有交集与子集。

1. 两集合是否相等

两集合是否相等,使用==或者!=进行判断。

# author: 爪哇斗罗(javaDouLuo)
# date: 2022/7/14 22:19

s1 = {1, 2, 3, 4, 5}
s2 = {5, 4, 3, 2, 1}
s3 = {5, 4, 3, 2, 1, 0}

# True
print(s1 == s2)
# False
print(s1 == s3)
# True
print(s2 != s3)

2. 子集

当B集合中的所有元素都在A集合中存在,则B是A的子集,通过issubset()判断。

# author: 爪哇斗罗(javaDouLuo)
# date: 2022/7/14 22:19

s1 = {1, 2, 3, 4, 5}
s2 = {5, 4, 3, 2, 1}
s3 = {5, 4, 3, 2, 1, 0}

# True
print(s1.issubset(s3))

3. 交集

当B集合中的部分元素在A集合中存在,则B与A存在交集,通过issubset()判断是否没有交集。

# author: 爪哇斗罗(javaDouLuo)
# date: 2022/7/14 22:19

s1 = {1, 2, 3, 4, 5}
s2 = {5, 4, 3, 2, 1, 4}
s3 = {5, 4, 3, 0}

# False s2与s3有交集
print(s2.isdisjoint(s3))

2.5 集合的数学操作 

关于集合的关系有交集,并集,差集,对称差集都可以通过python来实现。

1. 交集

Python中计算交集使用intersection()计算集合交集

# author: 爪哇斗罗(javaDouLuo)
# date: 2022/7/15 23:25

set01 = {10, 20, 30, 40}
set02 = {10, 20, 30, 40, 50}
# 交集 {40, 10, 20, 30}
print(set01.intersection(set02))
# 交集 {40, 10, 20, 30}
print(set01 & set02)

 2. 并集

Python中计算并集使用union()函数

# author: 爪哇斗罗(javaDouLuo)
# date: 2022/7/15 23:25

set01 = {10, 20, 30, 40}
set02 = {10, 20, 30, 40, 50}


# 并集 {40, 10, 50, 20, 30}
print(set01.union(set02))
# 并集 {40, 10, 50, 20, 30}
print(set01 | set02)

 3. 差集

Python中计算差集使用difference()函数

# author: 爪哇斗罗(javaDouLuo)
# date: 2022/7/15 23:25

set01 = {10, 20, 30, 40}
set02 = {10, 20, 30, 40, 50}

# 差集 {50}
print(set02.difference(set01))
# 差集 {50}
print(set02 - set01)

4.对称差集

Python中计算差集使用symmetric_difference()函数

# author: 爪哇斗罗(javaDouLuo)
# date: 2022/7/15 23:25

set01 = {10, 20, 30, 40, 60}
set02 = {10, 20, 30, 40, 50}
# 对称差集 {50, 60}
print(set02.symmetric_difference(set01))
# 对称差集 {50, 60}
print(set02 ^ set01)

来源:爪哇斗罗

物联沃分享整理
物联沃-IOTWORD物联网 » Python基础:元组的定义以及集合的使用详解

发表评论