除了使用key查找数据,还可以使用get来获取数据
demo:
info = {‘name‘:‘吴彦祖‘,‘age‘:18} print(info[‘age‘]) # 获取年龄 # print(info[‘sex‘]) # 获取不存在的key,会发生异常 print(info.get(‘sex‘)) # 获取不存在的key,获取到空的内容,不会出现异常
字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改
demo:
info = {‘name‘:‘班长‘, ‘id‘:100, ‘sex‘:‘f‘, ‘address‘:‘地球亚洲中国北京‘} newId = input(‘请输入新的学号‘) info[‘id‘] = int(newId) print(‘修改之后的id为%d:‘%info[‘id‘])
demo:访问不存在的元素
info = {‘name‘:‘班长‘, ‘sex‘:‘f‘, ‘address‘:‘地球亚洲中国北京‘} print(‘id为:%d‘%info[‘id‘])
如果在使用 变量名[‘键‘] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素
demo:添加新的元素
info = {‘name‘:‘班长‘, ‘sex‘:‘f‘, ‘address‘:‘地球亚洲中国北京‘} # print(‘id为:%d‘%info[‘id‘])#程序会终端运行,因为访问了不存在的键 newId = input(‘请输入新的学号‘) info[‘id‘] = newId print(‘添加之后的id为:%d‘%info[‘id‘])
结果:
请输入新的学号188
添加之后的id为: 188
对字典进行删除操作,有一下几种:
demo:del删除指定的元素
info = {‘name‘:‘班长‘, ‘sex‘:‘f‘, ‘address‘:‘地球亚洲中国北京‘} print(‘删除前,%s‘%info[‘name‘]) del info[‘name‘] print(‘删除后,%s‘%info[‘name‘])
结果
demo:del删除整个字典
info = {‘name‘:‘monitor‘, ‘sex‘:‘f‘, ‘address‘:‘China‘} print(‘删除前,%s‘%info) del info print(‘删除后,%s‘%info)
结果
demo:clear清空整个字典
info = {‘name‘:‘monitor‘, ‘sex‘:‘f‘, ‘address‘:‘China‘} print(‘清空前,%s‘%info) info.clear() print(‘清空后,%s‘%info)
结果
例子1(查看元素):
# 字典是可变的数据类型 # 定义一个字典 my_dict = {"name": "小明", "age": 20} # <1>查看元素(通过key 获取value) # 变量名 = 字典名[key] my_name = my_dict["name"] print(my_name)
运行结果:
小明
例子2(修改元素):
# 字典是可变的数据类型 # 定义一个字典 my_dict = {"name": "小明", "age": 20} # <2>修改元素 (如果key存在) # 字典名[key] = 数值 my_dict["age"] = 23 print(my_dict)
运行结果:
{‘age‘: 23, ‘name‘: ‘小明‘}
例子3(添加元素):
# 字典是可变的数据类型 # 定义一个字典 my_dict = {"name": "小明", "age": 20} # <3>添加元素 (如果key不存在) # # 字典名[key] = 数值 my_dict["no"] = "007" print(my_dict)
运行结果:
{‘no‘: ‘007‘, ‘name‘: ‘小明‘, ‘age‘: 20}
例子4(删除元素):
# 字典是可变的数据类型 # 定义一个字典 my_dict = {"name": "小明", "age": 20} # <4>删除元素 # del (通过key删除字典的键值对) del my_dict["age"] print(my_dict)
运行结果:
{‘name‘: ‘小明‘}
例子5(清空):
# 字典是可变的数据类型 # 定义一个字典 my_dict = {"name": "小明", "age": 20} # <4>清空元素 # clear # my_dict = {} my_dict.clear() print(my_dict)
运行结果:
{}
测量字典中,键值对的个数
返回一个包含字典所有KEY的列表
返回一个包含字典所有value的列表
返回一个包含所有(键,值)元祖的列表
dict.has_key(key)如果key在字典中,返回True,否则返回False
例子1:
# # 定义一个字典 my_dict = {"name": "小明", "age": 20} # <1>len() -> str list tuple dict range l = len(my_dict) print(l)
例子2:
# # 定义一个字典 my_dict = {"name": "小明", "age": 20} # <2>keys # 返回一个包含字典所有KEY的列表 # python3.x中返回的是一个对象 # python2.x中返回的就是一个列表 keys_list = my_dict.keys() print(list(keys_list))
运行结果:
[‘age‘, ‘name‘]
例子3:
# # 定义一个字典 my_dict = {"name": "小明", "age": 20} # <3>values # 返回一个包含字典所有value的列表 values_list = my_dict.values() print(list(values_list))
运行结果:
[‘小明‘, 20]
例子4:
# # 定义一个字典 my_dict = {"name": "小明", "age": 20} # <4>items # 返回一个包含所有(键,值)元祖的列表 items_list = my_dict.items() print(list(items_list))
运行结果:
[(‘age‘, 20), (‘name‘, ‘小明‘)]
例子5:
# # 定义一个字典 my_dict = {"name": "小明", "age": 20} # <5>has_key (Python3 已取消) # dict.has_key(key)如果key在字典中,返回True,否则返回False # name = "hello" # if "e" in name: # print("存在")
例子6:
# # 定义一个字典 my_dict = {"name": "小明", "age": 20} # # 通过key 获取value my_name = my_dict["name1"] print(my_name) # if "name" in my_dict: # print("存在") # 通过in 或者not in 判断key是否存在
例子7:
# <6> setdefaut # # 定义一个字典 my_dict = {"name": "小明", "age": 20} # 如果key存在 会返回对应的value # 如果key不存在 那么会使用其默认值 而且会把这个不存在的key和默认值组成一个新的键值对添加到字典中 my_name = my_dict.setdefault("name1", "哈哈") print(my_name) print(my_dict)
运行结果:
哈哈 {‘age‘: 20, ‘name‘: ‘小明‘, ‘name1‘: ‘哈哈‘}
例子8:
# <7> get # 定义一个字典 my_dict = {"name": "小明", "age": 20} # 如果key存在 会返回对应的value # 如果key不存在 那么会使用其默认值 字典不会发生任何改变 my_name = my_dict.get("name1", "哈哈") print(my_name) print(my_dict)
运行结果:
哈哈 {‘age‘: 20, ‘name‘: ‘小明‘}
# <8> 字典通过key获取value 的方式有几种? # dict[key] # dict.setdefaut(key) # dict.get(key)
原文:https://www.cnblogs.com/kangwenju/p/12776572.html