Python内置函数——set&frozenset
Python内置函数——set&frozenset
set
set()set对象实例化>>> set('add')set(['a', 'd'])>>> set('python').add('hello')>>> print set('python').add('hello')None>>> a = set('python')>>> aset(['h', 'o', 'n', 'p', 't', 'y'])>>> a.add('hello')>>> aset(['h', 'o', 'n', 'p', 't', 'y', 'hello'])>>> a.update('python')>>> aset(['h', 'o', 'n', 'p', 't', 'y', 'hello'])>>> a.update('hello')>>> aset(['e', 'h', 'l', 'o', 'n', 'p', 't', 'y', 'hello'])>>> a.remove('hello')>>> aset(['e', 'h', 'l', 'o', 'n', 'p', 't', 'y'])>>> b = set('hello')>>> bset(['h', 'e', 'l', 'o'])>>> a - bset(['y', 'p', 't', 'n'])>>> a & bset(['h', 'e', 'l', 'o'])>>> a | bset(['e', 'h', 'l', 'o', 'n', 'p', 't', 'y'])>>> a != bTrue>>> a == bFalse>>> b in aFalse>>> a in bFalse>>> c = set('hell')>>> c in bFalse>>> bset(['h', 'e', 'l', 'o'])>>> cset(['h', 'e', 'l'])>>> 'h' in cTrue>>> 'p' in cFalse
frozenset
frozenset([iterable])产生一个不可变的set>>> a = frozenset(range(10))>>> afrozenset([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])>>> a.remove(0)Traceback (most recent call last): File "<pyshell>", line 1, in <module> a.remove(0)AttributeError: 'frozenset' object has no attribute 'remove'>>> b = set(range(10))>>> bset([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])>>> b.remove(1)>>> bset([0, 2, 3, 4, 5, 6, 7, 8, 9])</module></pyshell>