您的位置:首页 > 编程语言 > Python开发

Python学习笔记(五)—集合(set)

2017-05-12 11:46 627 查看
-1. 创建集合(set)

创建 set 的方式是调用 set() 并传入一个 list,list的元素将作为set的元素:

s = set(['Adam', 'Lisa', 'Bart', 'Paul'])


set不能包含重复的元素,所以,当我们传入包含重复元素的 list ,set会自动去掉重复的元素。

s = set(['Adam', 'Lisa', 'Lisa','Bart', 'Paul'])
print s

执行结果:
set(['Adam', 'Lisa', 'Bart', 'Paul'])


-2. 访问set

由于set是一个无效列表,故无法像list一样通过索引来访问,访问set其实也就是判断 元素是否存在于 set中,故我们可以通过 in 操作来实现:

s = set(['Adam', 'adam', 'Lisa', 'lisa', 'Bart', 'bart', 'Paul', 'paul'])
print 'adam' in s
print 'bart' in s


-3. set特点

① set 内部存储与dict相似,但是不存储value,故访问速度快

②set的元素与dict类似,必须是不可变元素

③set存储的元素也是没有顺序的。

months = set(['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'])
x1 = 'Feb'
x2 = 'Sun'

if x1 in months:
print 'x1: ok'
else:
print 'x1: error'

if x2 in months:
print 'x2: ok'
else:
print 'x2: error'

执行结果:
x1: ok
x2: error


使用for循环遍历如下set

s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
for x in s:
print x[0], ":", x[1]
print ("%s:%d")%x   # 两种print结果是一样的


-4. 添加和删除

添加:add(),添加如果set中已有,则不会添加,set中没有,才会添加

删除:remove(),如果set中已该元素,则成功删除,set中没有,会报错

s = set(['Adam', 'Lisa', 'Paul'])
L = ['Adam', 'Lisa', 'Bart', 'Paul']
s.add('Bart')
s.remove('Adam')
s.remove('Lisa')
print s
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: