← 返回首页
Python3基础教程(十)
发表时间:2022-03-25 16:34:01
Set(集合)

1.Set(集合)

set是建立一系列无序的,不重复的元素;可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

创建set的另一种常用方式是调用set()并传入一个list,list的元素将作为set的元素;

list与set的区别: list是最自由的,可以使用索引、切片,可以进行计算和修改;set是半自由的,自由体现在它通过list传值给它,数据类型是可变的,还可以改变list中的值,数据集是无序的,不重复的,可以进行计算,不自由体现在无法使用索引和切片准确定位。

实例:

# -*- coding: utf-8 -*-
# @Time : 2022/3/25 16:21
# @File : set.py
# @Software : PyCharm

set1 = {'grape','apple','watermelon','banana','grape','watermelon'}
print(set1) #输出集合,重复的元素被自动去掉

list=['strawberry','apple','orange','banana','strawberry','orange']

#使用list的元素将作为set的元素
set2=set(list)

print(set2) #会去除重复元素
# 成员测试
if 'banana' in set2 :
    print('banana 在集合中')
else :
    print('banana 不在集合中')

#set可以进行集合运算
print(set1 - set2)     # a 和 b 的差集
print(set1 | set2)     # a 和 b 的并集
print(set1 & set2)     # a 和 b 的交集
print(set1 ^ set2)     # a 和 b 中不同时存在的元素

#使用add(key)添加元素
set1.add('pear')
print(set1)

#使用remove(key)删除元素
set1.remove('watermelon')
print(set1)

运行结果:

{'grape', 'apple', 'banana', 'watermelon'}
{'orange', 'apple', 'banana', 'strawberry'}
banana 在集合中
{'grape', 'watermelon'}
{'grape', 'orange', 'banana', 'strawberry', 'apple', 'watermelon'}
{'apple', 'banana'}
{'orange', 'grape', 'strawberry', 'watermelon'}
{'grape', 'banana', 'pear', 'apple', 'watermelon'}
{'grape', 'banana', 'pear', 'apple'}