1、Python中dict的概念及用法
list 和 tuple 可以用来表示顺序集合,如名字集合['Adam', 'Lisa', 'Bart']
分数集合[95, 85, 59]
但是,要根据名字找到对应的成绩,用两个 list 表示就不方便。 如果把名字和分数关联起来,给定一个名字,就可以直接查到分数。Python的 dict 就是专门干这件事的。用 dict 表示“名字”-“成绩”的查找表如下:d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59
}
我们把名字称为key,对应的成绩称为value,dict就是通过key 来查找 value。
花括号 {} 表示这是一个dict,然后按照 key: value, 写出来即可。最后一个 key: value 的逗号可以省略。
由于dict也是集合,len() 函数可以计算任意集合的大小:len(d)
结果是3,注意: 一个 key-value 算一个,因此,dict大小为3。
如何查找dict中元素:d[key]或d.get(key)
dict特点:dict中key不能重复;dict中储存的key-value序对无顺序,不能用dict储存有序的集合;key元素不可变,value可变。
dict更新方法:直接用d[key]=value来更新,如果key已经存在,则赋值会用心的value替换原来的value。
遍历dict:d={...}
for key in d:
print key
2、Python中set的概念及用法
dict的作用是建立一组 key 和一组 value 的映射关系,dict的key是不能重复的。
set 持有一系列元素,无key,只有value,这一点和 list 很像,但是set的元素没有重复,而且是无序的,这点和 dict 的 key很像。如果往set中添加了重复元素,set会自动去除重复元素。set区分大小写,因此'a'和'A'不一样。
创建set方法:创建 set 的方式是调用 set() 并传入一个 list,list的元素将作为set的元素:s = set(['A', 'B', 'C'])
访问set方法:由于set存储的是无序集合,所以我们没法通过索引来访问。 访问 set中的某个元素实际上就是判断一个元素是否在set中。
如:s = set(['Adam', 'Lisa', 'Bart', 'Paul'])
'Adam' in s
结果是true
set的特点:set的内部结构和dict很像,唯一区别是不存储value,因此,判断一个元素是否在set中速度很快。
set存储的元素和dict的key类似,必须是不变对象,因此,任何可变对象是不能放入set中的。
遍历set方法:s=set([...])
for n in s:
print n
更新set方法:add()和remove()。如果add一个set中存在的元素,不会报错,只是不添加。remove一个set不存在的元素,set会报错。s=([1,2,3])
s.add(2)
print s
结果为s=([1,2,3])