第7章 映像和集合类型(3)

7.6 集合类型

集合对象是一组无序排列的可哈希的值。集合成员可以做字典中的键。

集合支持in和not in操作符检查成员,由len()内建函数得到集合的基数,用for循环迭代集合的成员。但因为集合本身是无序的,所以不可以为集合创建索引或执行切片操作,也没有键可用来获取集合中元素的值。

集合有两种不同的类型,可变集合(set)和不可变集合(frozenset)。对可变集合可以添加和删除元素,对不可变集合不允许这样做。

7.6.1 如何创建集合类型和给集合赋值

集合被创建的唯一方法——用集合的工厂方法set()和frozenset()。

>>> s = set("1234567890")
>>> s
set(['1', '0', '3', '2', '5', '4', '7', '6', '9', '8'])
>>> frozenset(("1",2,3))
frozenset(['1', 2, 3])
>>>

7.6.2 如何访问集合中的值

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

>>> 2 in s
False
>>> "2" in s
True
>>> for item in s:
... print item
...
1
0
3
>>>

7.6.3 如何更新集合

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

add() update() remove() -= +=

只有可变集合能被修改。试图修改不可变集合会引发异常。

>>> s.add("1111")
>>> s
set(['1111', '1', '0', '3', '2', '5', '4', '7', '6', '9', '8'])
>>> s.update((1,2,3))
>>> s
set(['1111', 2, 3, 1, '1', '0', '3', '2', '5', '4', '7', '6', '9', '8'])
>>> s.remove(1)
>>> s
set(['1111', 2, 3, '1', '0', '3', '2', '5', '4', '7', '6', '9', '8'])
>>> s -= set("123")
>>> s
set(['1111', 2, 3, '0', '5', '4', '7', '6', '9', '8'])
>>>

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

del

7.7 集合类型操作符

7.7.1 标准类型操作符

1. 成员关系(in, not in)

2. 集合等价/不等价

== !=

3. 子集/超集

> >= < <=

7.7.2 集合类型操作符

1.联合(|)

2. 交集(&)

3. 差补/先对补差(-)

4. 对称查分(^)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值