可变集合set
集合set是Python中一种基本数据类型,它分为可变集合(set)和不可变集合(frozenset)两种。类似于其他语言,集合是一个无序不重复元素集,包括创建集合set、向集合中添加元素、删除集合中的元素、求集合的交集、并集、差集等操作。下面就让我们一一来学习集合的这些知识吧。
1、set创建集合
set集合类需要的参数必须是迭代器类型的,如:序列、字典等,然后转换成无序不重复的元素集。由于集合是不重复的,所以可以对字符串、列表、元组进行去重操作。
1.1创建空集合
>>> l = set()
>>> l
set([])
>>> ss = set([])
>>> ss
set([])
>>> st = set(())
>>> st
1.2 创建非空集合
集合中set括号中需要的参数的数据类型有:序列(包括字符串、列表、元组),字典或者是另一个集合,但是不能是数值类型,如int类型。
字符串做参数
>>> s = set('createSet')
>>> s
set(['a', 'c', 'e', 'S', 'r', 't'])
list做参数
>>> s1 = set([1,2,3,1,3,4,5])
>>> s1
set([1, 2, 3, 4, 5])
元组做参数
>>> s2 = set((1,2,3,4,1))
>>> s2
set([1, 2, 3, 4])
字典做参数
>>> s3 = set({
1:2,2:3})
>>> s3
set([1, 2])
字典转set集合,需要注意的是,只取了字典的key,相当于将字典中的dict.keys()列表转成set集合。
set集合做参数
>>> s1
set([1, 2, 3, 4, 5])
>>> ss = set(s1)
>>> ss
set([1, 2, 3, 4, 5])
2、集合添加
集合的添加有两种方式,分别是add和update。但是它们在添加元素时是由区别的:
2.1 add()方法
是把要传入的元素作为一个整体添加到集合中,如:
>>> sTest = set('one')
>>> sTest
set(['e', 'o', 'n'])
#添加一个'two'元素,并查看结果
>>> sTest.add('two')
>>> sTest
set(['e', 'two', 'o', 'n'])
2.2 update()方法
是把要传入的元素拆分成单个字符,存于集合中,并去掉重复的字符。如:
>>> sTest
set(['e', 'two', 'o', 'n'])
>>> sTest.update('123')
>>> sTest
set(['e', 'two', 'o', 'n', '1', '3', '2'])
3、集合删除
集合的删除操作使用的方法跟列表是一样的,使用的也是remove方法。如: