集合的创建
集合(set
)与数学意义相同,是一个无序的元素不重复的序列。
我们可以使用大括号 { }
或者set()
函数创建集合,注意:创建一个空集合必须用set()
而不是 { }
,因为 { }
是用来创建一个空字典。
创建格式:
parame = {value01,value02,...}
或者:
set(value)
>>> a = {'apple', 'orange', 'pear'}
>>> a
{'apple', 'orange', 'pear'}
>>> s = set() #使用set()创建一个空的集合
集合的操作
集合去重
重复元素在set
中自动被过滤,即去重功能:
>>> fruit = {'apple', 'orange', 'apple', 'pear'}
>>> print(basket)
{'orange', 'pear', 'apple'} #集合是无序的
>>> s = set([1, 1, 2, 2, 3, 3]) #对列表去重
>>> s
{1, 2, 3}
添加元素
通过add(key)
方法可以添加元素到set中,可以重复添加,但不会有效果:
>>> s = {1,2,3,4}
>>> s
{1, 2, 3, 4}
>>> s.add(4) #添加重复元素 4
>>> s
{1, 2, 3, 4}
删除元素
通过remove(key)
方法可以删除元素:
>>> s.remove(4) #删除元素 4而不是索引位置 4
>>> s
{1, 2, 3}
集合运算
两个set
可以做数学意义上的交集、并集等运算:
>>> a = {1,2,3,4}
>>> b = {4,5,6,7}
>>> a - b # 只在集合a中包含元素
{1,2,3}
>>> a | b # 集合a或b中包含的所有元素
{1,2,3,4,5,6,7}
>>> a & b # 集合a和b中都包含了的元素
{4}
>>> a ^ b # 不同时包含于a和b的元素
{1,2,3,5,6,7}
常用操作
计算集合的大小可使用函数len()
>>> thisset = {"Google", "Runoob", "Taobao"}
>>> len(thisset)
3
使用in
判断元素是否在集合中:
>>>thisset = {"Google", "Runoob", "Taobao"}
>>> "Runoob" in thisset
True
>>> "Facebook" in thisset
False
#********* Begin *********#
#第一步 请将列表fruit转换为一个集合
fruit = ["苹果","梨子","菠萝","黄瓜","香蕉"]
fruit = set(fruit)
#第二步 将集合fruit中的“黄瓜”去掉
fruit.remove("黄瓜")
#第三步 使用"in"判断"黄瓜"是否在fruit中,将判断结果打印输出
print("黄瓜" in fruit)
#第四步 创建空集合food,输出集合food的长度
food={}
print(len(food))
#第五步 将fruit和vegetable合并到food并输出此时food的长度
vegetable = {"土豆","萝卜","茄子","白菜"}
food=vegetable ^ fruit
print(len(food))
#********* End *********#