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

来源:互联网 发布:mac编辑hosts文件 编辑:程序博客网 时间:2024/06/06 05:55

-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 sprint '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
0 0
原创粉丝点击