python字典

字典(dict类型):使用{}来表示
字典的定义:
  空字典:{}
注意点:字典中的元素是由key:value组成
               key:同一个字典中key是唯一的(不能存在重复的key)
                      字典中的key只能是不可变类型的数据(数值,字符串,元组),通常都是使用字符串
               value:字典中的value可以保存任何类型的数据

一、字典的定义

字典的定义有以下三种方式:

# 字典的定义
# 方式1:常用
dict_1 = {"name": "jack", "age": "18", "sex": "boy"}
print(type(dict_1), dict_1)  # 打印结果  {'name': 'jack', 'age': '18', 'sex': 'boy'}

# 方式2:常用
dict_2 = dict(
    name='jack',
    age='18',
    sex='boy',
    name2='frank'
)
print(dict_2)  # 打印结果 {'name': 'jack', 'age': '18', 'sex': 'boy', 'name2': 'frank'}

# 方式3:这种方式不常用在工作中处理[]类型数据时,会通过dict方法转化为字典类型
dict_3 = dict(
    [('name', 'jack'), ('age', '18'), ('sex', 'boy')]
)
print(dict_3)  # 打印结果 {'name': 'jack', 'age': '18', 'sex': 'boy'}

二、字典的增删查改

注意点:字符串、列表、元组,支持下标操作,可以下标取值和切片
    字典不支持下标取值和切片

1、添加

# 1、添加:通过键直接赋值,dict['键'] = '添加的值'(无则增,有则改)
dict_t_01 = {"name": "jack", "age": "18", "sex": "boy"}
dict_t_01['name2'] = '小明'
print(dict_t_01)  # 打印结果为 {'name': 'jack', 'age': '18', 'sex': 'boy', 'name2': '小明'}

2、修改

# 2、修改:通过键直接赋值,dict['键'] = '修改后的值'(无则增,有则改)
dict_t_02 = {"name": "jack", "age": "18", "sex": "boy"}
dict_t_02['name'] = '张三'
print(dict_t_02)  # 打印结果为 {'name': '张三', 'age': '18', 'sex': 'boy'}

3、查询

方式1:直接通过键去获取
注意:如果键不存在,会报错KeyError

# 方式1:直接通过键去获取  注意:如果键不存在,会报错KeyError
dict_t_03_1 = {"name": "jack", "age": "18", "sex": "boy"}
print(dict_t_03_1['name'])  # 打印结果为 jack
# print(dict_t_03_1['name111'])  # 报错,KeyError  ,因为键不存在

方式2:get方法通过键去获取
注意:如果键不存在,返回None

# 方式2:get方法通过键去获取   注意:如果键不存在,返回None
dict_t_03_2 = {"name": "jack", "age": "18", "sex": "boy"}
print(dict_t_03_2.get('age'))  # 打印结果为 18
print(dict_t_03_2.get('age123'))  # 打印结果为 None ,因为键不存在

4、删除

pop:通过指定键删除对应的键值对
popitem:删除最近一个添加到字典的键值对
clear:清空字典

# 1,pop方法:通过指定键删除对应的键值对
dict_t_04_1 = {"name": "jack", "age": "18", "sex": "boy"}
print(dict_t_04_1.pop('sex'))  # 打印结果为 boy,这里指的是删掉了boy
print(dict_t_04_1)  # 打印结果为 {'name': 'jack', 'age': '18'}

# 2, popitem:删除最近一个添加到字典的键值对
dict_t_04_2 = {"name": "jack", "age": "18", "sex": "boy"}
# 这里先添加一个键值对
dict_t_04_2["dept"] = "Engish"
print(dict_t_04_2)  # 打印结果为 {'name': 'jack', 'age': '18', 'Sdept': 'EngLish'}
print(dict_t_04_2.popitem())  # 打印结果为 ('dept', 'English'),这里是把刚刚最近添加的一个键值对给删掉了

# 3, clear:清空字典
dict_t_04_3 = {"name": "jack", "age": "18", "sex": "boy"}
dict_t_04_3.clear()   # 这里已经清空了字典
print(dict_t_04_3)    # 打印结果为 {}

 三、字典的其他方法

keys():获取字典中所有的键
values():获取字典中所有的值
items():获取字典的键值对, (每个键值对会转换为一个元组)
update():往字典中添加多个键值对

dic = {"name": "jack", "age": "18", "sex": ""}

# 1,keys()方法
print(dic.keys())   # 打印结果为 dict_keys(['name', 'age', 'sex'])
print(list(dic.keys()))  # list()可转换为列表  打印为 ['name', 'age', 'sex']

# 2,values()方法
print(dic.values())  # 打印结果为 dict_values(['jack', '18', '男'])
print(list(dic.values()))    # list()可转换为列表  打印为 ['jack', '18', '男']

# items()方法
print(list(dic.items()))  # 打印结果为 [('name', 'jack'), ('age', '18'), ('sex', '男')]

# update()方法:往字典中添加多个键值对  可以理解为列表中的extend
dic.update({"a": "11",  "b": "22", "c": "33"})
print(dic)   # 打印结果为 {'name': 'jack', 'age': '18', 'sex': '男', 'a': '11', 'b': '22', 'c': '33'}

 

你可能感兴趣的:(python字典)