dict()
dict函数的一般格式
dict{key :value }
dict可以根据key来查找value。
此时注意{ }花括号表示这是一个dict,要跟list的[ ],与tuple的( )区分开来。
dict()的访问
用d[key]的形式来查找对应的value,这跟list要相区分开来,
list必须使用索引返回对应的元素,
dict使用key;
d = {
'A':'BEIJIN',
'B':'SHANGHAI'
}
print (d['A'])
#
BEIJIN
注意: 通过 key访问 dict 的value,只要 key 存在,dict就返回对应的value。如果key不存在,会直接报错:KeyError.
为了让代码运行正确,我们需要避免这种情况。
一我们可以先判断key是否存在,用if语句判断。
二是使用dict本身提供的一个 get 方法,在x不存在的时候,返回None:
d = {
'A':'BEIJIN',
'B':'SHANGHAI'
}
print (d.get('A'))
#输出
BEIJIN
dict的特点
一查找速度快。
二存储的key-value序对是没有顺序的。
三作为key的元素必须不可变,python的基本数据类型如字符串,整数,浮点数都是不可变的。
上述的三个特点都可以跟list的特点区分开来。
dict的更新
dict是可变的,我们可以随时往dict中添加新的序对。
d['C']='GUANGZHOU'
print d
#输出
{'A': 'BEIJIN', 'B': 'SHANGHAI', 'C': 'GUANGZHOU'}
我们也可以对已有的key,用赋值的方法替换value
同理可得。
用for循环遍历dict
可以通过key可以获取对应的value,所以在循环体内,可以获得value的值。
用for循环遍历如下的dict,
打印出name:hometown
d={
'A':'BEIJIN',
'B':'SHANGHAI'
}
for x in d:
print (x+':',d[x])
#输出
A: BEIJIN
B: SHANGHAI
set()
创建 set 的方式是调用 set() 并传入一个 list,list的元素将作为set的元素:
s=set(['A','B','C','C'])
print s
#输出
{'A', 'B', 'C'}
{'A', 'C', 'B'}
...有多种情况,说明set的元素是无序的,并且set会自动去掉重复的元素,原来list有四个元素,但输出的只有三个。
set的访问
set存储的是无序集合,所以我们没有办法用索引来访问,访问set的某些元素实际就是判读元素是否在set中。
我们可以用in操作符来判断。
s={['A','B','C']}
'B' in s
#输出
Ture
set的特点
一set的内部结构和dict很像,唯一区别是不存储value,因此,判断一个元素是否在set中速度很快。
二set存储的元素和dict的key类似,必须是不变对象,所以任何可变对象不能放入set中。
三set存储的元素也是没有顺序的。
用for循环遍历set
由于 set 也是一个集合,所以,遍历 set 和遍历 list 类似,都可以通过 for 循环实现。可以参考上述用for循环遍历dict。
set的更新
set的更新可分为两种
一把新元素添加进set中。
添加元素可以用add()的方法:
二把已有的元素从set中删除。
删除set中的元素是可以用remove():
当删除的元素不存在set中是,remove()会报错,所以使用remove()要先判断。
s = set(['Adam', 'Lisa', 'Paul'])
L = ['Adam', 'Lisa', 'Bart', 'Paul']
for name in L:#name都在L中
if name in s:
s.remove(name)
else:
s.add(name)
print (s)
#输出
{'Bart'}
那么今天的分享就到这里,我们可以把dict(),set()和list(),tuple()一起记。