一:什么是字典?
1、字典是一种可变的容器,可以存储任意类型的数据
2、字典中的每个数据都是用’键’(key)进行索引,而不像序列可以用下标来进行索引
3、字典的数据没有先后顺序关系,字典的存储是无序的
4、字典中的数据以键(key) – 值(value)对进行映射存储
5、字典的键不能重复,且只能用不可变类型作为字典的键
6、字典的字面值表示方法:
用{}括起来,以冒号(:)分隔键值对,各键值对用分号分隔开(注:列表和元组只能做为值,不能做为键,字典里面也可以包含字典)
创建空字典
d = {}
创建非空的字典:
d = {‘name’: ‘tarena’, ‘type’:’program’}
d = {‘姓名’: ‘张蕊’, ‘年龄’:’25岁’}
二:字典的构造函数 dict
1、 dict() 创建一个空字典,等同于 {}
2、 dict(iterable) 用可迭代对象初始化一个字典
3、 dict(**kwargs) 关键字传参形式生成一个字典
4、 示例:
d = dict()
d = dict([(‘name’, ‘tarena’), (‘age’, 15)])
d = dict(name=’tarena’, age=15) (这种方式只能是字符串作为键的时候使用)
三:字典的基本操作
1、字典的键索引
用 [] 运算符可以获取字典内‘键’所对应的‘值’
语法:
字典[键]
获取数据元素
d = dict(name=’tarena’,age=15)
print(d[‘age’])
2、 添加和修改字典的元素
字典[键] = 表达式
示例:
d = {}
d[‘name’] = ‘tarena’ #创建一个新键值对
d[‘age’] = 15 # 创建键值对
d[‘age’] = 16 # 修改键值对
3、 删除字典的元素
语法:
del 字典[键]
示例:
d = {‘name’:’china’,’pos’:’asia’}
del d[‘pos’]
print(d)
四、字典的in / not in 运算符
1、可以用in运算符来判断一个’键’是否存在于字典中,如果存在则返回True,否则返回False,
Not in 与 in 返回值相反。
示例:
d = {‘a’:1,’b’:2}
‘a’ in d # True
1 in d #False
100 int in d # True
2 not in d # True
2、字典是可迭代对象,字典只能对键进行迭代访问
d = {‘name’:’tarena’,(2002, 1, 1): ‘生日’}
for x in d:
print(x)
五:字典的内建函数
1、len(x) ---- 返回字典键值对的个数
2、max(x) ---- 返回字典的键的最大值
3、min(x) ---- 返回字典的键的最小值
4、sum(x) ---- 返回字典所有键的和
5、any(x) ---- 真值测试,只对键测试,如果其中一个键为True,结果为True
6、all(x) ---- 真值测试,全部键为True时,结果才为True
六:字典的常用方法
1、chear() 清空字典
2、pop(key) 移除键,同时返回此键所对应的值
3、copy() 返回字典D的副本,只复制一层(浅拷贝)
4、update(d2) 将字典d2合并到d中,如果键相同,帽此键的值取d2的值作为新值
5、get(key,default) 返回键key所对诮的值,如果没有此键,则返回default
6、keys() 返回可迭代的dict_keys集合对象
7、values() 返回可迭代的dict_values值对象
8、items() 返回可迭代的dict_items对象
七、字典推导式
1、字典推导式是用可迭代对象依次生成字典内元素的表达式
2、语法:
{键表达式:值表达式 for 变量 in 可迭代对象 [if 真值表达式]}
(注:[]的内容可省略)
示例:
d =
八、练习
1、写一个程序,实现以下需求:
将如下数据形成一个字典seasons
‘键’ ‘值’
1 ‘春季有1,2,3月’
2 ‘夏季有4,5,6月’
3 ‘秋季有7,8,9月’
4 ‘冬季有10,11,12月’
让用户一个整数代表这个季度,打印这个季度的信息,如果用户输入的信息不在字典的键内,则打信息不存在。
2、输入一段字符串,打印出这个字符串中出现过的字符及出现过的次数。
如:
输入:ABCDABCABA
输出:
A:4次
C:2次
B:3次
D:1次
尾声:这就是有关python字典的应用及方法,希望大家下去以后要多练练手,如果喜欢小编的分享,请多多关注、评论、加粉!谢谢!
领取专属 10元无门槛券
私享最新 技术干货