码迷,mamicode.com
首页 > 编程语言 > 详细

python学习[第十二篇] 数据类型之 集合

时间:2018-07-19 00:47:42      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:err   没有   nbsp   允许   大于   因此   不能   error   lse   

python学习[第十二篇] 数据类型之 集合

集合概念

python中集合是一组无序排列的哈希值。集合分为两种可变集合(set)和不可变集合(frozenset)

对可变集合可以修改和删除元素,对于不可变集合不允许。可变集合是不可以哈希的,因此既不能用作字典的键,也不能做其他集合的元素。

集合的增删改查

集合的创建于赋值

集合与列表([]) 和字典({})不同,集合没有特别的语法格式。列表和字典可以通过他们自己的工厂方法创建,这也是集合的唯一的创建方式。set()和frozenset()

#创建可变集合
>>> s=set(fruittruth)
>>> s
set([f, i, h, r, u, t])
#创建不可变集合
>>> t=frozenset(fruittruth)
>>> t
frozenset([f, i, h, r, u, t])
>>> type(s)
<type set>
>>> type(t)
<type frozenset>

访问集合

#判断对象是否在集合中
>>> t in s
True

#判断对象是否不在集合中
>>> k not in s
True

#变量集合的元素
>>> for i in s:
...     print i
...
f
i
h
r
u
t

 

更新集合

使用集合的内建方法和操作符添加和删除集合的元素

#16b
#25b
#31
#42
#53b
#64
#75b
##16b

#集合添加元素
>>> s.add(k)
>>> s
set([f, i, h, k, r, u, t])
#集合修改元素
>>> s.update(xyz)
>>> s
set([f, i, h, k, r, u, t, y, x, z])
#集合删除元素 remove方法
>>> s.remove(t)
>>> s
set([f, i, h, k, r, u, y, x, z])
#通过 -= 删除集合 要删除的只能是集合,可以是可变集合和不可变集合
s -= set(xxx)
>>> s -= set(xyz)
>>> s
set([f, i, h, k, r, u])
>>> s -= t
>>> s
set([k])

>>> s -= xyz
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for -=: set and str

删除集合

del s

 

集合类型操作符

标准类型操作符

成员关系 in ,not in

>>> s=set(pzq)
>>> s
set([q, p, z])
>>>
>>> k in s
False

集合等价及不等价

>>> s=set(pzq)
>>> s
set([q, p, z])
>>> t=frozenset(mon)
>>> t
frozenset([m, o, n])
>>> s == t
False
>>> s != t
True
>>> u=frozenset(s)
>>> u
frozenset([q, p, z])
>>> s == u
True
>>> set(posh) == set(shop)
True

子集及超集

集合子集及超集 :小于符号(<,<=)用来表示子集 大于符号(>,>=)用来表示超集.

 

python学习[第十二篇] 数据类型之 集合

标签:err   没有   nbsp   允许   大于   因此   不能   error   lse   

原文地址:https://www.cnblogs.com/ryanpan/p/9333515.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!