优草派 > 问答 > Python

python set用法

作者:liuweihao     

Python Set是一种无序的可变集合,它允许存储不同类型的元素。在Python中,Set是一种内置的数据类型,它可以存储任何类型的数据,包括数字、字符串、元组、列表等。本文将从多个角度来分析Python Set的用法。

1. 创建Set

创建Set有两种方法,一种是使用花括号{},另一种是使用set()函数。使用花括号{}创建Set时,需要注意花括号内的元素不能重复,否则只会保留一个元素。例如:

```

# 使用花括号{}创建Set

my_set = {1, 2, 3, 4, 5}

print(my_set) # {1, 2, 3, 4, 5}

my_set = {1, 2, 3, 4, 5, 5}

print(my_set) # {1, 2, 3, 4, 5}

```

使用set()函数创建Set时,可以传入一个可迭代对象作为参数,例如列表、元组等。例如:

```

# 使用set()函数创建Set

my_list = [1, 2, 3, 4, 5]

my_set = set(my_list)

print(my_set) # {1, 2, 3, 4, 5}

my_tuple = (1, 2, 3, 4, 5)

my_set = set(my_tuple)

print(my_set) # {1, 2, 3, 4, 5}

```

2. Set的基本操作

Set支持的基本操作包括添加元素、删除元素、判断元素是否存在以及获取Set的长度等。

添加元素使用add()函数,例如:

```

# 添加元素

my_set = {1, 2, 3, 4, 5}

my_set.add(6)

print(my_set) # {1, 2, 3, 4, 5, 6}

```

删除元素使用remove()或discard()函数,两者的区别在于如果删除不存在的元素,remove()函数会抛出KeyError异常,而discard()函数不会。例如:

```

# 删除元素

my_set = {1, 2, 3, 4, 5}

my_set.remove(3)

print(my_set) # {1, 2, 4, 5}

my_set.discard(5)

print(my_set) # {1, 2, 4}

my_set.remove(6) # 抛出KeyError异常

```

判断元素是否存在使用in关键字,例如:

```

# 判断元素是否存在

my_set = {1, 2, 3, 4, 5}

print(3 in my_set) # True

print(6 in my_set) # False

```

获取Set的长度使用len()函数,例如:

```

# 获取Set的长度

my_set = {1, 2, 3, 4, 5}

print(len(my_set)) # 5

```

3. Set的数学运算

Set支持的数学运算包括并集、交集、差集和对称差集。

并集使用|运算符或union()函数,例如:

```

# 并集

set1 = {1, 2, 3, 4, 5}

set2 = {4, 5, 6, 7, 8}

print(set1 | set2) # {1, 2, 3, 4, 5, 6, 7, 8}

print(set1.union(set2)) # {1, 2, 3, 4, 5, 6, 7, 8}

```

交集使用&运算符或intersection()函数,例如:

```

# 交集

set1 = {1, 2, 3, 4, 5}

set2 = {4, 5, 6, 7, 8}

print(set1 & set2) # {4, 5}

print(set1.intersection(set2)) # {4, 5}

```

差集使用-运算符或difference()函数,例如:

```

# 差集

set1 = {1, 2, 3, 4, 5}

set2 = {4, 5, 6, 7, 8}

print(set1 - set2) # {1, 2, 3}

print(set1.difference(set2)) # {1, 2, 3}

```

对称差集使用^运算符或symmetric_difference()函数,例如:

```

# 对称差集

set1 = {1, 2, 3, 4, 5}

set2 = {4, 5, 6, 7, 8}

print(set1 ^ set2) # {1, 2, 3, 6, 7, 8}

print(set1.symmetric_difference(set2)) # {1, 2, 3, 6, 7, 8}

```

4. Set的遍历

Set可以使用for循环进行遍历,例如:

```

# 遍历Set

my_set = {1, 2, 3, 4, 5}

for i in my_set:

print(i)

# 输出:

# 1

# 2

# 3

# 4

# 5

```

5. Set的排序

Set是一种无序的集合,不支持排序。如果需要对Set进行排序,可以先将Set转换为列表,再使用sorted()函数进行排序,例如:

```

# 对Set进行排序

my_set = {3, 1, 4, 2, 5}

my_list = list(my_set)

my_list = sorted(my_list)

print(my_list) # [1, 2, 3, 4, 5]

```

5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
相关问题
sql判断字段是否存在
python键值对
for循环可以遍历字典吗
怎么使用vscode
查看更多

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024