最新消息: 新版网站上线了!!!

python如何创建集合类型和给集合赋值,访问集合,更新集合,删除集合

集合与列表( [ ] )和字典( { } ) 不同,没有特别的语法格式。列表和字典可以分别用他们自

己的工厂方法 list() 和 dict() 创建,这也是集合被创建的唯一方法 - 用集合的工厂方法 set()和 frozenset():

>>> s = set('cheeseshop')

>>> s

set(['c', 'e', 'h', 'o', 'p', 's'])

>>> t = frozenset('bookshop')

>>> t

frozenset(['b', 'h', 'k', 'o', 'p', 's'])

>>> type(s)

<type 'set'>

>>> type(t)

<type 'frozenset'>

>>> len(s)

6

>>> len(s) == len(t)

True

>>> s == t

False


如何访问集合中的值

你可以遍历查看集合成员或检查某项元素是否是一个集合中的成员:

>>> 'k' in s

False

>>> 'k' in t

True

>>> 'c' not in t

True

>>> for i in s:

... print i

...

c

e

h

o

p

s

如何更新集合

用各种集合内建的方法和操作符添加和删除集合的成员:

>>> s.add('z')

>>> s

set(['c', 'e', 'h', 'o', 'p', 's', 'z'])

>>> s.update('pypi')

>>> s

set(['c', 'e', 'i', 'h', 'o', 'p', 's', 'y', 'z'])

>>> s.remove('z')

>>> s

set(['c', 'e', 'i', 'h', 'o', 'p', 's', 'y'])

>>> s -= set('pypi')

>>> s

c', 'e', 'h', 'o', 's'])

我们之前提到过,只有可变集合能被修改。试图修改不可变集合会引发异常。

>>> t.add('z')

Traceback (most recent call last):

File "<stdin>", line 1, in ?

AttributeError: 'frozenset' object has no attribute 'add'

如何删除集合中的成员和集合

前面我们看到如何删除集合成员。如果如何删除集合本身,可以像删除任何Python 对象一样,

令集合超出它的作用范围,或调用del 将他们直接清除出当前的名字空间。如果它的引用计数为零,

也会被标记以便被垃圾回收。

>>> del s

>>>


转载请注明:谷谷点程序 » python如何创建集合类型和给集合赋值,访问集合,更新集合,删除集合