字典和列表一样是一种可变容器,同样也可以存储不同类型的数据,字典的中数据是以键值对的形式存储的(key:value),数据与数据之间用逗号分割。
# 创建一个个人信息字典
person={'name':'张三','sex':'男','address':'北京市西城区白纸坊'}
# 创建一个http状态码字典
http_state={200:'成功',500:'服务器错误',404:'找不到页面'}
person={}
# 创建一个个人信息字典
person={'name':'张三','sex':'男','address':'北京市西城区白纸坊','age':45,'weight':74.34}
注意:
获取字典元素的方法有简单的方式和for循环方式,其中for循环方式有三种方法。
dict[key]
我们通过一个例子来看具体用法
# 定义一个个人信息字典
person={'name':'张三','sex':'男','address':'北京市西城区白纸坊','age':45,'weight':74.34}
# 取出个人信息中的name、address,并打印
print(person['name'])
print(person['address'])
person={'name':'张三','sex':'男','address':'北京市西城区白纸坊','age':45,'weight':74.34}
# 例子一、取出全部的个人信息
for key in person:
print(person[key])
# 例子二、取出部分数据如果age大于40 就不显示年龄,显示年龄偏大
for key in person:
value=person[key]
if key=='age' and value>40:
print('年龄偏大')
continue
print(value)
# 例子三、以key:value的形式输出,例如:name:张三
for key in person:
print(key,':',person[key])
person={'name':'张三','sex':'男','address':'北京市西城区白纸坊','age':45,'weight':74.34}
for key,value in person.items():
print(key,':',value)
我们从上面的代码可以看出,我们通过 items 方法直接取出来key和value,而且取出value时不是通过dic[key]的方式。
注意:利用在利用 items 方法的时候,需要记住的时 for 循环的两个变量key在前,value在后。
dict[key]=new_value
我们通过例子来看一下该怎么使用
person={'name':'张三','sex':'男','address':'北京市西城区白纸坊','age':45,'weight':74.34}
# 将name 修改欸王欢,性别为女
person['name']='王欢'
person['sex']='女'
dict[new_key]=new_value
我们通过一个例子来看一下,具体怎么使用
person={'name':'张三','sex':'男','address':'北京市西城区白纸坊','age':45,'weight':74.34}
# 新增所在公司
person['company']='阿里巴巴'
del dict[key]
通过例子来看一下
person={'name':'张三','sex':'男','address':'北京市西城区白纸坊','age':45,'weight':74.34}
del person['age']
# 打印字典,发现age元素已经被删除
print(person)
dict.pop(key[,default])
这里的default代表在没有指定的key时候返回的默认内容,下面我们通过例子来看一下。
person={'name':'张三','sex':'男','address':'北京市西城区白纸坊','age':45,'weight':74.34}
# 删除name
person.pop('name')
# 定义default再次删除name,这事将返回“没有这个元素了”
person.pop('name','没有这个元素了')
dict.popitem()
通过例子来看一下具体怎么使用
person={'name':'张三','sex':'男','address':'北京市西城区白纸坊','age':45,'weight':74.34}
person.popitem()
person={'name':'张三','sex':'男','address':'北京市西城区白纸坊','age':45,'weight':74.34}
# 删除整个字典
del person
# 打印这个字典,将会报错,因为这个字典已经被彻底删除
print(person)
person={'name':'张三','sex':'男','address':'北京市西城区白纸坊','age':45,'weight':74.34}
# 删除整个字典
person.clear()
# 打印这个字典,将会输出一个空的字典
print(person)
我们再来看一下字典的其他操作
函数 | 说明 |
---|---|
dict.copy() | 返回一个字典的浅复制 |
dict.fromkeys() | 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 |
dict.get(key, default=None) | 返回指定键的值,如果值不在字典中返回default值 |
key in dict | 键在字典dict里返回true,否则返回false |
dict.keys() | 获取字典里所有的key |
dict.setdefault(key, default=None) | 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default |
dict.update(dict2) | 把字典dict2的键/值对更新到dict里 |
dict.values() | 获取字典里所有的value |
本节讲解了字典的创建和增删改查,本节内容相对简单,但本节是后面课程的基础,所以一定要掌握本节所讲的
将第三章第三节的作业改写成字典。