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'}