一、字典
字典可以理解为一种映射,类似C++中STL模板里的map。
比如整形数组建立了一种从数字到数字的映射,字符串数组建立了一种从数字到字符串的映射。
而字典则可建立更广泛的映射。比如可以建立字符串到数字的映射、元祖到字符串的映射。
映射中有一对关键概念,即:键(key)与值(value),其中键用来索引,值就是存储的对象。例如,字符串数组的键是数字,值就是字符串。这一对键值以二元组(key,value)的形式构成了字典的基本元素。在python里,需要注意的是,键只能是数字、字符串或元祖等不可变类型,不能取列表这一类的可变类型。而值则可取任意类型。
字典用花括号{}表示,键值之间用冒号:隔开。如:
>>> dic = {
"name":"Tom", 'age':12,'love':'girl'}
>>> type(dic)
<class 'dict'>
练习题
1、字典基本操作
字典内容如下:dic= { 'python': 95, 'java': 99, 'c': 100 }
用程序解答下面的题目:
字典的长度是多少
请修改java’这个key对应的value值为98
删除c这个key
增加一个key-value对、 key值为php,value是90
获取所有的key值,存储在列表里
获取所有的value值,存储在列表里
判断javascript是否在字典中
获得字典里所有value的和
获取字典里最大的value
获取字典里最小的value
字典dic1 = {‘php’: 97}、 将dic1的数据更新到dic中
分析:主要考察列表的基本操作,代码如下:
>>> dic
{
'python': 95, 'java': 99, 'c': 100} #初始字典
>>> len(dic) #查询字典的长度
3
>>> dic['java'] = 98 #修改'java'这个key对应的value值为98
>>> dic
{
'python': 95, 'java': 98, 'c': 100}
>>> del dic['c'] #删除c这个key
>>> dic
{
'python': 95, 'java': 98}
>>> dic['php'] = 90 #增加一个key-value对、 key值为php,value是90
>>> dic
{
'python': 95, 'java': 98, 'php': 90}
>>> lst = list(dic.keys()) #获取所有的key值,存储在列表里
>>> lst
['python', 'java', 'php']
>>> lst = list(dic.values()) #获取所有的value值,存储在列表里
>>> lst
[95, 98, 90]
>>> 'javascript' in dic #判断javascript是否在字典中
False
>>> sum(dic.values()) #获得字典里所有value的和
283
>>> max(dic.values()) #获取字典里最大的value
98