1. 集合(Set)的概念

set(集合)是无序和无索引的集合。在Python中,集合用大括号写成。

无法通过引用索引来访问集合中的项目,因为set(集合)是无序的,项目没有索引。

但是您可以使用循环遍历设置项for ,或者通过使用in关键字询问集合中是否存在指定值 。

2. 集合内置方法

方法描述
add()向集合添加元素
clear()从集合中删除所有元素
copy()返回集合的副本
difference()返回包含两个或更多集之间差异的集合
difference_update()移除此集合中也包含在另一个指定集合中的项目
discard()删除指定的项目
intersection()返回一个集合,即两个其他集合的交集
intersection_update()删除此集合中不存在于其他指定集合中的项目
isdisjoint()返回两个集合是否有交集
issubset()返回另一个集合是否包含此集合
issuperset()返回此set是否包含另一个set
pop()从集合中删除元素
remove()移除指定的元素
symmetric_difference()返回具有两组对称差异的集合
symmetric_difference_update()插入此集合和另一个集合的对称差异
union()返回包含集合并集的集合
update()使用此集合和其他集合更新集合

3. 示例函数

# -*- coding: utf-8 -*-
"""
Created on Mon Jul 29 14:25:47 2019

@author:  jlblog.tech
"""

print()

basket={'apple','orange','apple','pear','orange','banana'}
print(basket)

print()
#成员测试
print('orange' in basket)
print()
basket.add('cherry')
print (basket)
#添加多个元素进入set
basket.update(["mango", "grapes"])
print (basket,"\nthe length of basket is ",len(basket))
#从set中删除元素
basket.discard('mango')
basket.remove('grapes')
print ('移除mango和grapes后,basket为: ',basket)
#集合是无序的,因此在使用pop()方法时,您将不知道要删除的项目。
itemOut=basket.pop()
print("被pop()方法删除的item为: ",itemOut)
print(basket)
print("使用basket.clear()后: ",basket.clear())

del basket #结束basket的生命周期 
#另外一种从sets中展示每一个character
someChars=set('235345##$*%#!@bdfsdf')
print(someChars)
print()
#set 运算

set1=set('abracadabra')
set2=set('alacazam')

print("set1        ",set1)
print("set2        ",set2)

#联合同合并set1和set2
print("set1|set2",set1|set2)
#set1和set2的交集
print("set1&set2",set1&set2)
#差集
print("set1-set2",set1-set2)
#去交集
print("set1^set2",set1^set2)

4. 运行结果

python18 数据结构之set