Python学习笔记-字典

<1>根据键访问值

info = {'name': '小明', 'id': 100, 'sex': 'f', 'address': '中国北京'}
print(info['name'])
print(info['address'])

运行结果

小明
中国北京

在我们不确定字典中是否存在某个键而又想获取其值时,可以使用get方法,还可以设置默认值

age = info.get('age')
print(age) #'age'键不存在,所以age为None
print(type(age))
age = info.get('age', 18) # 若info中不存在'age'这个键,就返回默认值18
print(age)

运行结果

None
<class 'NoneType'>
18

<2>修改元素

newId = input('请输入新的学号')
info['id'] = int(newId)
print('修改之后的id为%d:'%info['id'])

运行结果

请输入新的学号123
修改之后的id为123:

<3>添加元素

info = {'name':'小明', 'sex':'f', 'address':'中国北京'}
print('id为:%d'%info['id'])

运行结果

Traceback (most recent call last):
  File "E:/PycharmProjects/train/tupletest.py", line 42, in <module>
    print('id为:%d'%info['id'])
KeyError: 'id'

如果在使用 变量名['键'] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素

info = {'name':'小明', 'sex':'f', 'address':'中国北京'}
# print('id为:%d'%info['id'])
newId = int(input('请输入新的学号'))
info['id'] = newId
print('添加之后的id为:%d'%info['id'])

运行结果

请输入新的学号188
添加之后的id为:188

<4>删除元素

对字典进行删除操作,有一下几种:

  • del
  • clear()
print('删除前,%s'%info['name'])
del info['name']
print('删除后,%s'%info['name'])

运行结果

删除前,小明
Traceback (most recent call last):
  File "E:/PycharmProjects/train/tupletest.py", line 49, in <module>
    print('删除后,%s'%info['name'])
KeyError: 'name

删除后不可访问,所以会报错

删除整个字典

print('删除前,%s'%info)
del info
print('删除后,%s'%info)

运行结果

删除前,{'name': '小明', 'sex': 'f', 'address': '中国北京'}
Traceback (most recent call last):
  File "E:/PycharmProjects/train/tupletest.py", line 53, in <module>
    print('删除后,%s'%info)
NameError: name 'info' is not defined

clear清空整个字典

print('清空前,%s'%info)
info.clear()
print('清空后,%s'%info)

运行结果

清空前,{'name': '小明', 'sex': 'f', 'address': '中国北京'}
清空后,{}

<5>len()

测量字典中,键值对的个数

<6>keys

返回一个包含字典所有KEY的列表

<7>values

返回一个包含字典所有value的列表

<8>items

返回一个包含所有(键,值)元组的列表

原文地址:https://www.cnblogs.com/Akubi/p/9354885.html