学Python——第十九课 字典

​    用列表去记录电话本:

contacts = ['爸爸:189000777X', '小明:137000786X', '妈妈:189000889X']。如果要查妈妈的电话,但忘记在那个位置,一个方法就是按顺序从第一个开始找:

>>>contacts[0]

'爸爸:189000777X'        

>>>contacts[1]

'小明:137000786X'

>>>contacts[2]

'妈妈:189000889X'

第三次终于找到了。如果这个电话本很大,有100多个,妈妈的电话在第100个,那不是要尝试100次才找到?

    Python提供了另一种数据组织形式——字典,用来解决这种根据键值(key,例如:妈妈)能一次找到这个键值对应的值(value,例如:电话号码)。

    1、构造一个空字典(后续可以用来添加元素):

    2、构造一个非空字典,键值不能重复,在构造时如果键值重复只保留最后的值:

    3、键值不能重复,在构造时如果键值重复只保留最后的值:

    4、键值和值不是都可以调过来的:

电话本似乎可以,但与习惯不一样,也不好查找:

商品价格表,经常有同样价格的,就不可以倒过来了:

可乐不见了!!

    5、添加新元素:

    6、获取元素值:

    7、修改元素值:

可见,添加和修改的句法都是一样的,就是说使用这句代码时,词典如果已有这个键值,就用新值代替旧值,否则添加一个新元素。

    8、删除元素:

    9、遍历元素:

1)很自然就想到for......in......语句,尝试一下:

上图看到的是键值的遍历,不是元素的遍历。

2)字典的内置函数items与遍历:

3)字典的内置函数values与值的遍历:

 

练习题:

新建一个商品价格字典:

铅笔    2

橡皮    2

白纸    1

文具盒  20

玩具手枪  60元。

对字典进行操作:

1)添加一个8元的橡皮泥;

2)将白纸的价格修改成0.2元;

3)删除玩具手枪;

4)然后将字典打印出来;

5)将你调整后的商品价格字典中的商品名称和价格分别打印出来。