1.dict结构与其方法
dict结构就是把集合关联起来,dict特点与对比如下:
1.dict的查找速度快,查找10个元素或者10万个元素都一样速度,且dict的key-value是无序输出(print打印全部时,不分定义时的先后顺序)
缺点是占内存大,浪费空间.
2.list占内存小,list是有序排列(定义时的顺序,即print打印顺序)
缺点是会随着数据的增多而下降搜索速度.
#dict结构,例:
d = {
'a':1,
'b':2,
'c':3
}
#注意,':'前面称为key,':'后面称为value
#通过key可以找到其对应的value
#ps:len(d)可以输出dict的长度length
#dict访问,例:
print d['a']
#注意,key必须要正确,不然会报错,所以可以使用判断语句
#1.if判断
if 'a' in d:
print d['a']
#2.dict本身的方法get,若不存在则返回None
print d.get('a')
#更新dict,例:
#添加未有的新key,则会成功添加:
d['d'] = 4
#添加已有的key,则会修改原有的key的value:
d['c'] = 4
#遍历dict
#例:
for key in d:
print key,':',d[key]
#d[key]也可以换成d.get(key)
2.set结构与其方法
set持有一系列元素,像list,但无重复,对象内容不能改变,无序输出的特性,像dict的key
set格式:s = set([‘a’,’b’,’c’])
注,元素中若有重复,会自动去除
#访问set
#由于无序,无法下标访问set,但是可以判断,例:
'a' in s #返回True,即s中存在
'A' in s #返回False,即s中不存在,元素区分大小写
#遍历set
#例:
s = set([('a',1),('b',2),('c',3)])
for x in s:
print x[0],':',x[1]
#list是有下标的
#更新set
#添加,无论此元素是否存在,都不会报错,例:
s.add('d')
#删除,若无此元素,则会报错,例:
s.remove('d')