date: 2021-06-12title: Python之字典 #标题
tags: python #标签
categories: python # 分类
创建字典
# 第一种创建方式dic1 = dict((('one', 1), ('two', 2), ('three', 3)))print(dic1)# 第二种创建方式dic2 = dict(one=11, two=22, three=33)print(dic2)# 第三种创建方式dic3 = dict({'name': '张三', 'age': 10, 'sex': '男'})print(dic3)# 基于第三种方式不太正规的写法info = {'老大': {'name': '张三', 'age': '18', 'sex': '男'}, '朋友': ['李四', '王五', '赵四']}print(info['朋友'])# 输出如下:{'one': 1, 'two': 2, 'three': 3}{'one': 11, 'two': 22, 'three': 33}{'name': '张三', 'age': 10, 'sex': '男'}['李四', '王五', '赵四']
字典的增删改查
增
dic = dict({'name': '张三', 'age': 10, 'sex': '男'})dic['hobby'] = '打篮球' # 默认有则改之,无则追加# setdefault:有则不变,无则追加dic.setdefault('age', 22)dic.setdefault('身高', '180mm')print(dic)# 输出如下:{'name': '张三', 'age': 10, 'sex': '男', 'hobby': '打篮球', '身高': '180mm'}
删
################ pop删除 ################dic = dict({'name': '张三', 'age': 10, 'sex': '男', 'hobby': '打篮球', '身高': '180mm'})dic.pop('身高') # 默认如果有此键即删除,没有就会报错# pop可以设置第二个参数,如果有则删除并返回删除的value,如果没有此key则返回第二个参数# 此方式适用于你不确定这个字典中有没有这个key时使用print(dic.pop('姓名', '没有此键'))print(dic.pop('name', '没有此键'))print(dic)# 输出如下没有此键张三{'age': 10, 'sex': '男', 'hobby': '打篮球'}################ clear清空 ################dic = dict({'name': '张三', 'age': 10, 'sex': '男', 'hobby': '打篮球', '身高': '180mm'})dic.clear() # 清空字典中所有内容print(dic)################ del删除指定key(不推荐使用) ################dic = dict({'name': '张三', 'age': 10, 'sex': '男', 'hobby': '打篮球', '身高': '180mm'})del dic['name']print(dic)
改
dic = dict({'name': '张三', 'age': 10})
dic['name'] = '赵四'
print(dic)
# 输出如下
{'name': '赵四', 'age': 10}
查
1、查key对应的value
# 方式一(不推荐)
dic = dict({'name': '张三', 'age': 10, 'hobby_list': ['开车', '骑行', '跑步', '美女']})
print(dic['hobby_list'])
print(dic['hobby_list'][2])
# 输出如下
['开车', '骑行', '跑步', '美女']
跑步
# 方式二(使用get方法,推荐)
dic = dict({'name': '张三', 'age': 10, 'hobby_list': ['开车', '骑行', '跑步', '美女']})
print(dic.get('name'))
print(dic.get('name', '没有此键'))
print(dic.get('身高', '没有此键'))
# 输出如下
张三
张三
没有此键
两种方式的区别在于,如果字典中没有这个键,方式一就会报错,但方式二,通过get方法,可以设置默认返回值,如果没有查到对应的键,则会返回默认值。
2、查所有的key
dic = dict({'name': '张三', 'age': 10, 'hobby_list': ['开车', '骑行', '跑步', '美女']})
print(dic.keys())
# 输出如下
dict_keys(['name', 'age', 'hobby_list'])
3、查询所有的value
dic = dict({'name': '张三', 'age': 10, 'hobby_list': ['开车', '骑行', '跑步', '美女']})
print(dic.values())
# 输出如下:
dict_values(['张三', 10, ['开车', '骑行', '跑步', '美女']])
4、迭代字典
dic = dict({'name': '张三', 'age': 10, 'hobby_list': ['开车', '骑行', '跑步', '美女']})
print(dic.items()) # 迭代输出
for i in dic.items():
print(i) # 以元组的形式输出
for a, b in dic.items(): # 元组进行拆包并打印
print(a, b)
# 输出如下
dict_items([('name', '张三'), ('age', 10), ('hobby_list', ['开车', '骑行', '跑步', '美女'])])
('name', '张三')
('age', 10)
('hobby_list', ['开车', '骑行', '跑步', '美女'])
name 张三
age 10
hobby_list ['开车', '骑行', '跑步', '美女']
