理解“映射”,映射是一种键(索引)和值(数据)的对应
映射本身就是一种索引或一种属性与数据之间的对应关系
在列表里面['python','123','io'],这些列表数据索引为0,1,2
序列类型由0~N整数作为数据的默认索引
字典是Python唯一的内置映射类型,字典的键必须遵循以下两个原则
(1)每个键只能对应一个值,不允许同一个键在字典中重复出现
(2)字典中的键是不可变类型。
字典类型是数据组织与表达的一种新的形态
字典类型是“映射”的体现
键值对:键是数据索引的扩展
字典是键值对的集合,键值对之间无序,但是键/值必须唯一。
字典的值可以是任意类型,但键不能是列表或者字典类型
使用大括号{ }和dict()创建,键值对用冒号:表示
{键1:值1,键2:值2,键3:值3,键4:值4,键n:值n}
在字典变量中,通过键获得值,可以通过[ ]这样的索引形式来获得字典中的值,也可以对字典中的值或者键值对进行增加。
字典的值利用键访问,语法格式为:字典变量[键]
<字典变量>={<键1>:<值1>,………………}
<值>=<字典变量>[<键>] <字典变量>[<键>] =<值>
[ ]用来向字典变量中索引或增加元素
代码示例如下:
d={"中国":"北京","美国":"华盛顿","法国":"巴黎"} print(d) print(d["中国"]) print(type("巴黎"))
运行界面如下:
在这段代码中,type(x)函数返回变量x的类型。
字典的常用方法:
1.del d[k] ,删除字典d中键为k对应的数据值
代码示例如下:
d={"中国":"北京","美国":"华盛顿","法国":"巴黎"} del d["美国"] print(d)
运行界面如下:
2.k in d ,判断键k是否在字典d中,如果在返回True,否则False.
代码示例如下:
d={"中国":"北京","美国":"华盛顿","法国":"巴黎"} print("美国" in d)
运行界面如下:
3.d.keys,返回字典d中所有的键信息
d.values,返回字典d中所有的值信息
d.items,返回字典d中所有的键值对信息
他们的返回值都是可迭代对象,利用循环可以遍历这些对象
代码示例如下:
d={"中国":"北京","美国":"华盛顿","法国":"巴黎"} print(d.keys()) print(d.values()) print(d.items())
运行界面如下:
4.d.get(k,<default>)键k存在,则返回键k的对应值,不在则返回<default>值。
代码示例如下:
d={"中国":"北京","美国":"华盛顿","法国":"巴黎"} print(d.get("沃尔","不存在"))
运行界面如下:
5.d.pop(k,<default),键k存在,则取回键k的对应值的同时并删掉键k,不在则返回<default>值。
代码示例如下:
d={"中国":"北京","美国":"华盛顿","法国":"巴黎"} print(d.pop("美国","不存在")) print(d)
运行界面如下:
6.d.popitem(),随机从字典中取出一个键值对并删除,取出的键值对以元组形式返回。
代码示例如下:
d={"中国":"北京","美国":"华盛顿","法国":"巴黎"} print(d.popitem()) print(d)
运行界面如下:
7.d.clear(),删除所有键值对
示例代码如下:
d={"中国":"北京","美国":"华盛顿","法国":"巴黎"} d.clear() print(d)
运行界面如下:
8.len(d),返回字典中元素的个数
代码示例如下:
d={"中国":"北京","美国":"华盛顿","法国":"巴黎"} print(len(d))
运行界面如下:
8.d["键“]=值,进行在键值对增加元素。
代码示例如下:
d={"中国":"北京","美国":"华盛顿","法国":"巴黎"} d["沃尔"]="NBA巨星" d["a"]=1 print(d)
运行界面如下:
9.通过update()方法实现在字典中添加元素
代码示例如下:
d={"中国":"北京","美国":"华盛顿","法国":"巴黎"} d.update(沃尔="NBA巨星") print(d)
运行界面如下:
10..d["字典中原有的键“]=要修改后的键的名字,从而修改键值。
代码示例如下:
d={"中国":"北京","美国":"华盛顿","法国":"巴黎"} d["美国"]="俄罗斯" print(d)
运行界面如下:
我们进行如下总结,通过总结来进一步的熟悉字典方法的运用:
命题 | 方法 |
定义空字典 | d=[ ]或者dict( ) |
向d新增两个键值对元素 | d["沃尔"]="NBA巨星" d["a"]=1 |
修改第二个元素(无序) | d["美国"]="俄罗斯" |
判断字符“c"是否是d的键(只能判断键,不能判断值) | c in d |
计算d的长度 | len(d) |
清空d | d.clear() |
字典类型应用场景:
字典类型是映射的一种衍生方式,最主要的应用场景就是对映射的表达
映射无处不在,键值对无处不在
例如:统计数据出现的次数,数据是键,次数是值
最主要作用:表达键值对数据,进而操作它们。
元素遍历: for k in d: #由键来逐一的索引字典中的对应的值
<语句块>
代码示例如下:
d={"中国":"北京","美国":"华盛顿","法国":"巴黎"} for key in d: print(key)
运行界面如下:
字典推导式:
字典推导式的格式、用法与列表推导式类似,区别在于字典推导式外侧为大括号“{}”,且内部需包含键和值2个部分,具体格式如下:
{new_key:new_value for key,value in dict.items()}
利用字典推导式可快速交换字典中的键和值,示例代码如下:
d_old={"中国":"北京","美国":"华盛顿","法国":"巴黎"} d_new={value:key for key,value in d_old.items()} print(d_new)
运行界面如下: