创建 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'])
由于set是一个无效列表,故无法像list一样通过索引来访问,访问set其实也就是判断 元素是否存在于 set中,故我们可以通过 in 操作来实现:
s = set(['Adam', 'adam', 'Lisa', 'lisa', 'Bart', 'bart', 'Paul', 'paul'])
print 'adam' in s
print 'bart' in s
① 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结果是一样的
添加: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语句:可以删除这些数据结构其中的元素也可以删除变量。