set and frozenset

>>> x = set("A Python")
>>> x
set(['A', ' ', 'h', 'o', 'n', 'P', 't', 'y'])

Sets are implemented in a way, which doesn't allow mutable objects.

>>> name = set((["name1", "name2"], "name3"))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
>>> name = set((("name1", "name2"), "name3"))
>>>

Some operations of set

>>> name = {'LiLei', 'HanMeimei'}
>>> course = {'LiLei', 'LiMing'}
>>> name.difference(course)
set(['HanMeimei'])
>>> name.union(course)
set(['LiLei', 'LiMing', 'HanMeimei'])
>>> math = {'LiLei'}
>>> math.issubset(course)
True
>>> course.issuperset(math)
True
>>> english = {'WuWei'}
>>> english.isdisjoint(math)
True
>>> name.intersection(course)
set(['LiLei'])
>>> name.symmetric_difference(course)
set(['LiMing', 'HanMeimei'])
>>> 

Frozensets are like sets except that they cannot be changed, they are immutable

>>> name = frozenset(["name1", "name2"])
>>> name.add("name3")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'frozenset' object has no attribute 'add'
>>> 
>>> x = {"a", "b", "c"}
>>> y = {"a"}
>>> x.difference(y)
set(['c', 'b'])
>>> x -y
set(['c', 'b'])
>>> x.discard("a")
>>> x
set(['c', 'b'])





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值