字典的增删改查

字典的创建

  1. 创建一个非空字典
    大括号扩住,逗号分隔每一项。每一项是键值对。键 : 值。键名一般是字符串类型。
stu1_dict = {'name' : '小明' , ' age' : 13 , 'sex' : '男' , 'height' : 160}
  1. 创建一个空字典
dict1 = {}
  1. 类创建
stu_xiaoming_dict = dict()
print(stu_xiaoming_dict)

>>> {}
stu_xiaoming_dict = dict(name='小明',age=10)
print(stu_xiaoming_dict)

>>> {'name' : '小明' , 'age' : 10}

字典的访问

  1. 通过键访问值。语法格式为 字典对象[键]
stu_dict = {'name' : '小明' , 'age' : 10}
print(stu_dict['name'])

>>> '小明'

找不到键名会报错,错误反应严重,适合严谨的情况。如

stu_dict = {'name' : '小明' , 'age' : 10}
print(stu_dict['sex'])

>>> Traceback (most recent call last):
  File "<input>", line 1, in <module>
KeyError: 'sex'
  1. 只访问单独的健值。语法格式为 对象.get(键名 , 默认值=None)
stu_dict = {'name': '小明', 'age': 10}
print(stu_dict.get('name'))

>>> '小明'

默认值可以不传值,也可以传任意值
若不传值时访问的键名不存在,会返回默认值为None。

stu_dict = {'name': '小明', 'age': 10}
print(stu_dict.get('height'))

>>> None

若传值是访问的键名不存在,会返回传入的默认值

stu_dict = {'name': '小明', 'age': 10}
print(stu_dict.get('height', 0))

>>> 0
  1. 可能出现的错误。如访问的键名不存在就会出现报错。
stu_dict = {'name': '小明', 'age': 10}
print(stu_dict['height'])

>>> Traceback (most recent call last):
  File "<input>", line 1, in <module>
KeyError: 'height'

字典中数据的添加

  1. 语法格式为 对象[新键] = 新值
stu_dict = {'name' : '小明' , 'age' : 10}
stu_dict['sex'] = 'male'
print(stu_dict)
  1. 声明一个非空字典时用变量去拼

方式一如下:

new_value = 160
stu_dict = {'name': '小明', 'age': 10, 'sex': 'male', 'height' : new_value}
print(stu_dict)

>>> {'name': '小明', 'age': 10, 'sex': 'male', 'height': 160}

方式二如下:

new_value = 160
stu_dict = dict(name='小明', age=10, 'sex': 'male', height=new_value)
print(stu_dict)

>>> {'name': '小明', 'age': 10, 'sex': 'male', 'height': 160}

字典中数据的删除

  1. pop() 语法格式为 字典.pop(键),删除键值对,删除成功后返回对应的值。
stu_dict.pop('name')
stu_dict = {'name':'小明','age':10}
print(stu_dict.pop('name'))

>>> '小明'
  1. del 语法格式为 del 字典对象[键名],删除该键名及其所对应的健值。
stu_dict = {'name':'小明','age':10}
del stu_dict['name']
print(stu_dict)

>>> {'age': 10}
  1. clear() 语法格式为 字典对象.clear(),清除所有内容,返回空字典。
stu_dict = {'name' : '小明' , 'age' : 10}
stu_dict.clear()
print(stu_dict)

>>> {}
  1. 把值更新成默认值或者None
stu_dict = {'name':'小明','age':10}
stu_dict['name'] = None
print(stu_dict)

>>> {'name': None, 'age': 10}

字典中数据的更新

  1. 语法格式为 字典对象[键名] = 新值
stu_dict = {'name' : '小明' , 'age' : 10}
stu_dict['name'] = ‘小红’
print(stu_dict)

>>> {'name': '小红', 'age': 10}
  1. 语法格式为 字典对象.update(key1=value1 , key2=value2)
stu_dict = {'name' : '小明' , 'age' : 10}
stu_dict.update(name='小李',age=12)
print(stu_dict)

>>> {'name' : '小李' , 'age' : 12}

其他常用的方法

  1. 所有项的键值。遍历
    语法格式为 字典对象.values() 返回值所组成的列表。
stu_dict = {'name': '小明', 'age': 10}
for i in stu_dict.values():
    print(i) 

>>> dict_values(['小明' , 10])
  1. 所有项的键。遍历
    语法格式为 字典对象.keys() 返回键所组成的列表
stu_dict = {'name': '小明', 'age': 10}
for i in stu_dict.keys():
    print(i)

>>> dict_keys(['name' , 'age'])
  1. 获取所有项
    语法格式为 字典对象.items()
stu_dict = {'name' : '小明' , 'age' : 10}
print(stu_dict)

>>>	dict_items([('name', '小明'), ('age', 10)])

嵌套

列表,字典可以根据需求相互嵌套

  1. 列表套列表。二维数组
    字典对象.items() 返回值类似于[[‘name’,‘小明’],[‘age’,10]]
    二维数组,矩阵。[[1,2,3],[4,5,6],[7,8,9]]
  2. 列表套字典
    students = [{‘name’:‘小明’,‘age’:10,‘sex’:‘male’},
    {‘name’:‘小红’,‘age’:12,‘sex’:‘female’},
    {‘name’:‘小李’,‘age’:12,‘sex’:‘male’}
    ]
  3. 字典套列表
    接口上常见,比如天气预报接口
    weather_info = {
    ‘success’:ok,
    ‘status_code’:200,
    city_list:[
    {‘name’:‘郑州’,‘temp’:‘28’,‘wet’:30},
    {‘name’:‘郑州’,‘temp’:‘28’,‘wet’:30}
    ]
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值