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

    • -1. 创建集合(set)
    • -2. 访问set
    • -3. set特点
    • -4. 添加和删除
    • -总结

-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

-总结

数据结构 创建 元素
List []符号或list()创建 元素可变
Tuple ()符号或tuple()创建 元素不可变
Set {}符号或set()创建 元素不可重复
Dict {}符号或dict()创建 存放的键值对

del语句:可以删除这些数据结构其中的元素也可以删除变量。

你可能感兴趣的:(Python)