学习课程名称:python全能工程师2022版
章节名称:5-1字典popitem 6-1所有数据类型与布尔值的关系
讲师姓名:deweizhang
课程内容概述:本节课学习了popitem函数的功能和用法,popitem函数的功能是删除当前字典里末尾的一组键值对并将其返回,popitem的用法是dict.popitem(),返回被删除的键值对,用元组包裹,0索引是key,索引是value,但要注意的是如果字典为空,则直接报错.字典popitem方法是删除当前字典里末尾一组键值并将其返回,返回一个键值对(key,value)形式,正确的用法dict_1.popitem(),同时还学习了所有数据类型与布尔值的关系
字典添加修改数据的方法:
[]处理法:
注意事项:字典没有索引
dict['name'] = 'dewei'
添加或修改,根据key是否存在所决定
update的功能与用法:
添加新的字典,如新字典中有和原字典相同的可以,则该key的value会被新字典的value覆盖
#coding:utf-8
user = {'name': 'dewei', 'age': 33}
user['top'] = 1.75
print(user)
user['name'] = 'xiaomu'
user['age'] = 10
user['top'] = 1.75
print(user)updae的功能与用法:
用法:
dict.update(new_dict)
user = {'name': 'dewei', 'age': 33}
user_xiaomu = {'name': 'xiaomu', 'age': 10, 'sex': '男', 'top': 1.75}
user.update(user_xiaomu)
print(user)setdefault的用法:
用法:
dict.setdefault(key, value)
参数:
key需要获取的key
value:如果key不存在,对应这个key存入字典的默认值
注意事项:
字典中的每一个key一定是唯一的
字典中的数据量没有限制
字典中的value可以是python中的任意数据类型和自定义对象
user = {'name': 'dewei', 'age': 33}
value = user.setdefault('name', 'xiaoyun')
print(value)keys函数:
功能:
获取当前字典中所有的键(key)
用法:
dict.keys()- >无需传参,返回一个key集合的伪列表
values:
功能:获取当前字典中所有简直对中的值(value)
values的用法:
dict.values()->无需传参,返回一个key集合的伪列表
字典删除:
clear函数:
功能:晴空当前字典中的所有数据
用法:dict.clear()->无参数,无返回值
字典的clear()方法是清空字典中所有的数据,字典被清空后是空字典{},clear()方法返回None
pop函数:
功能:删除字典中之地昂的可以,并将其结果返回,如果可以不存在则报错
用法:dict.pop(key)--key希望被删除掉的键>>返回key对应的值(value)
del函数在字典中的应用
del dict[item] ->删除字典中的某个键
del dict ->删除整个字典
#coding:utf-8
projects = {
'ipad':{'name':'ipad', 'price':'2200', 'desc':'平板电脑'},
'iphone':{'name':'iphone', 'price':'3000', 'desc':'智能手机'},
'pc':{'name':'pc', 'price':'5000', 'desc':'台式电脑'},
'mac':{'name':'mac', 'price':'8000', 'desc':'平板电脑'},
}
print(project.keys())
print('一个中学生购买了{},价格是'.format(projects['pc']['name'], projects['pc']['price']))
projects.pop(pc)
print(projects)
print(project.keys())
result = projects.pop('mac')
print('一个程序员购买了{}, 它的价格是{}'.forma(result['name'], result.get('price')))
print(projects.keys())
print('{} 和 {}都被卖出了, 他们一共花费了{}元'.format(
projects['ipad']['name'], projects['iphone']['name'],
projects['ipad']['price']+projects['iphone']['price']
))
projects.clear()
print(prinject.keys())字典的复制函数:
copy的功能:将当前字典复制一个新的字典
copy用法:dict.copy()->该函数无参数,返回一个一摸一样的内存地址不同的字典
#coding:utf-8
friuts = {
'apple': 30,
'banana': 50,
'pear': 100
}
real_friuts = friuts.copy()
print(real_friuts)
real_friuts['orange'] = 50
real_friuts.update({'cherry': 100})
print(real_friuts)
print(friuts)
real_friuts['apple'] = real_friuts['apple'] - 5
print(real_friuts)
real_friuts['pear'] -= 3
print(real_friuts)
real_friuts.clear()
print(real_friuts)
real_friuts = friuts.copy()
print('第二天的货:', real_friuts)字典的成员运算符:
注意:在使用dict.get(key)的情况下,若需要返回bool值,则应该调用bool函数,用法bool(dict.get(key))去判断返回值,若value存在则返回为True,若value为None或者空字符串则返回False
in与not in在字典中的用法:应用在list,tuple,str,在字典dict中只能用来判断key是否存在
工作中有限是有成员运算符
字典内置的get也可以参与一下:通过value值进行判断的
#coding:utf-8
default_dict = {'a': None, 'b': 1, 'c':0, 'd': ''}
print('a' in default_dict)
print(bool(default_dict['a']))
print(bool(default_dict.get('a')))
print(bool(default_dict.get('b')))
print ('f' in default_dict)
print ('f' not in default_dict)
"""
字典中的成员判断 in 和not in用于判断键是否存在于字典中,如果键在字典里返回 True,否则返回 False,而get判断值的结果,如果value是None就会返回False
"""
字典中的popitem:
功能:删除当前字典末尾一组并将其返回
用法:dict.pop(item)--无需传参-->>返回被删除的键值对,永远组包裹0索引是key,1索引是value
注意事项:
若字典为空则直接报错
所有数据类型与布尔值的关系:
数据类型与布尔值的关系;
每一种数据类型,自身都有表示True与False
not对于一切结果取反