set 在 python 中是一个没有重复元素的无序集合,可以用 set() 函数生成。
>>>s = set('123242426')
>>>print(s)
{'3', '2', '4', '6', '1'}
set() 只能接受一个值,而且 set 不能排序
>>> set('appleorange')
{'r', 'e', 'o', 'l', 'a', 'p', 'n', 'g'}
>>> set('apple', 'orange')
TypeError: set expected at most 1 arguments, got 2
当然连个集合之间可以做运算了,运算速度比 list 要好,list 于 set 可以相互转化。
set 转 list
>>> s = set('234251435')
>>> print(s)
{'1', '2', '3', '5', '4'}
>>> l = list(s)
>>> l.sort()
>>> print(l)
['1', '2', '3', '4', '5']
list 转 set
>>> l = ['1', '2', '3', '4', '5']
>>> s = set(l)
>>> print(s)
{'1', '2', '3', '5', '4'}
>>> l = ['234251435']
>>> s = set(l[0])
>>> print(s)
{'1', '2', '3', '5', '4'}
set 的一些运算
有两个 set:x = {1, 2, 3} y = {2, 3, 4}
怎样得到{4}:
y - x
就行,也可以用y.difference(x)
要得到{2, 3}可以这样做:
x & y
或者 x.intersection(y)
得到{1, 4}也有两种方法:
x ^ y
和 x.symmetric_difference(y)