集合是指包含一组元素的数据结构,介绍的包括:
- 有序集合:list,tuple,str和unicode;
- 无序集合:set
- 无序集合并且具有 key-value 对:dict
1.有序集合list和tuple
list和C语言中的数组相似。不同的是list中包含的元素并不要求都必须是同一种数据类型。
tuple 和 list 非常类似,都是但是tuple一旦创建完毕,就不能修改了。
1.1.创建
创建list
l=[‘Michael’, 30, true,‘Bob’]
构造list非常简单,直接用 [ ] 把list的所有元素都括起来。
创建tuple
t = (‘Adam’, ‘Lisa’, ‘Bart’)
创建tuple和创建list唯一不同之处是用( )替代了[ ]
1.2.查找元素
和数组一样,通过下标访问list,下标从0起
- 顺序访问 L[2]访问第3 个元素
- 倒叙访问L[-1]访问倒数第1个元素
- 修改元素,指明的下标进行替换,L[2] = ‘Paul’
1.3.修改元素
- append()。添加总是把新的元素添加到 list 的尾部,L.append(‘Paul’)
- insert()。插入接受两个参数,第一个参数是索引号,第二个参数是待添加的新元素:L.insert(0, ‘Paul’)
- pop()。删除默认删掉list的最后一个元素,并且它还返回这个元素,如L.pop() 。 如果删掉指定元素,则说明下标L.pop(2)
2.无序集合set
set 持有一系列元素,这一点和 list 很像,但是set的元素没有重复,而且是无序的.
2.1创建
创建 set 的方式是调用set()并传入一个 list,list的元素将作为set的元素:
s = set([‘A’, ‘B’, ‘C’])
2.1查找遍历
由于set存储的是无序集合,所以我们没法通过索引来访问。
访问 set中的某个元素实际上就是判断一个元素是否在set中。
存储了班里同学名字的set:
s = set([‘Adam’, ‘Lisa’, ‘Bart’, ‘Paul’]),我们可以用 in 操作符判断:
for name in s:
print name
2.1修改
- add()。添加元素时,用set的add()方法:s.add(‘good’)
- remove()。删除set中的元素时,用set的remove()方法:s.remove(‘bed’)
3.无序dict集合
创建
d = {
‘Adam’: 95,
‘Lisa’: 85,
‘Bart’: 59
}
我们把名字称为key,对应的成绩称为value,dict就是通过 key 来查找 value。
访问遍历
d[key] 的形式来查找对应的 value, d[‘Adam’]
遍历dict
for key in d:
print key ,’:’,d[key]
添加
要把新同学’Paul’的成绩 72 加进去,用赋值语句:d[‘Paul’] = 72