定义:
- 字典是一种映射类型,它的元素是键值对,字典的键必须为不可变类型,且不能重复;
- 键可以是任意不可变类型(元祖 / 字符串 / 数字) 推荐:字典的键推荐使用:英文字符
- 创建字典的方式:(1)直接使用 {} (2)使用dict()
字典的使用
字典初始化:
【1】字典的创建初始化:一个键一个值,一一对应 a = { "username": "帅帅", "age": 21, "hoppy": "打羽毛球", "school": "西安电子科技大学" } print(a) # {'username': '帅帅', 'age': 21, 'hoppy': '打羽毛球', 'school': '西安电子科技大学'} # 键可以是任意不可变类型(元祖 / 字符串 / 数字)【不推荐这么使用】 b = { "姓名": "帅帅", 1: 18, (1, 2, 3): "123" } print(b) # {'姓名': '帅帅', 1: 18, (1, 2, 3): '123'} # 使用 dict() 方式初始化字典 c = dict((["username", "帅帅"], ["age", 21], ["hobby", "打羽毛球"])) print(c) # {'username': '帅帅', 'age': 21, 'hobby': '打羽毛球'} # 空字典的表示,直接使用大括号 d = {}
字典的增删改查:
【2】字典的增加,删除,修改,查询操作 student = { "username": "帅帅", "age": 21, "hoppy": "打羽毛球", "school": "西安电子科技大学" } student["study"] = "python" # 字典添加键值对 print(student) # {'username': '帅帅', 'age': 21, 'hoppy': '打羽毛球', 'school': '西安电子科技大学', 'study': 'python'} # 字典删除操作 del 字典变量名[键值] del student["study"] print(student) # {'username': '帅帅', 'age': 21, 'hoppy': '打羽毛球', 'school': '西安电子科技大学'} # 字典的修改 student["username"] = "帅哥" student["age"] = 22 print(student) # {'username': '帅哥', 'age': 22, 'hoppy': '打羽毛球', 'school': '西安电子科技大学'} # 字典的查询 print(student["name"]) # 帅哥 print(student["hoppy"]) # 打羽毛球
字典的get和keys函数:
""" 字典的操作方法: (1)get函数用于从字典获取指定键的值,在get函数中可以设置默认值,当get函数没有获取到对应的键时,get函数会将默认值返回! (2)keys函数将以列表的形式返回字典中的所有键,重复的键值会去重 """ product = { "name": "红烧牛肉面", "type": "熟食", "price": 1.50, "stock": 100, "desc": "红烧牛肉面非常好吃!" } name = product.get("name") print(name) # 红烧牛肉面 introduce = product.get("introduce") # 当键值不存在时,返回:None print(introduce) # None introduce = product.get("introduce", "红烧牛肉面非常nice") # 当键值不存在时,给默认值 print(introduce) # 红烧牛肉面非常nice # keys 函数操作 keys = product.keys() print(keys) # dict_keys(['name', 'type', 'price', 'stock', 'desc']) # 特殊情况:字典里面嵌套字典 user = { "name": "小明", "sex": "男", "mobile": { "phone1": "15091672136", "phone2": "0916-62898786" } } # 注意:嵌套字典,打印输出的键值只是外层的键值 keys = user.keys() print(keys) # dict_keys(['name', 'sex', 'mobile'])
字典的items和values函数:
""" 字典的操作方法: (1)items函数将以列表的形式返回字典中的所有键值对 (2)values函数将以列表的形式返回字典中的所有值 """ # 【4】字典的 items 和 values 函数 product = { "name": "红烧牛肉面", "type": "熟食", "price": 1.50, "stock": 100, "desc": "红烧牛肉面非常好吃!" } # 返回商品的key-value键值对集合 items = product.items() print(items) # dict_items([('name', '红烧牛肉面'), ('type', '熟食'), ('price', 1.5), ('stock', 100), ('desc', '红烧牛肉面非常好吃!')]) # 返回字典的所有value值集合 values = product.values() print(values) # dict_values(['红烧牛肉面', '熟食', 1.5, 100, '红烧牛肉面非常好吃!'])
字典的clear和copy函数:
""" 字典的操作方法: (1)clear 函数用于将字典清空 (2)copy 函数用于创建字典的副本,修改原字典对象,不会修改原副本 """ # 【5】字典的 clear 和 copy 函数 # 清空字典的数据 # product.clear() # print(d) # 输出:{} # print(len(product)) # 输出:0 # 字典的copy pro = product.copy() del product["name"] print("原字典:", product) # {'type': '熟食', 'price': 1.5, 'stock': 100, 'desc': '红烧牛肉面非常好吃!'} print("副本字典:", pro) # {'name': '红烧牛肉面', 'type': '熟食', 'price': 1.5, 'stock': 100, 'desc': '红烧牛肉面非常好吃!'}
字典的formkeys和pop函数:
"""" (1)fromkeys 函数:用于创建一个新的字典: 第一个参数是一个序列(列表 / 元组 / 集合),用于作为字典的键; 第二个参数可以是任意数据类型,作为每个键的值; (2)pop 函数:用于从字典中移除指定键,并返回该键所对应的值 """ # 【6】字典的 fromkeys 和 pop 函数 d = {} # 当没有设置value的值时,默认使用 None 填充 d1 = student.fromkeys(("key1", "key2", "key3")) print(d1) # {'key1': None, 'key2': None, 'key3': None} # 给字典的每一个 key 设置固定的值 value d2 = student.fromkeys(("key1", "key2", "key3"), "value") print(d2) # {'key1': 'value', 'key2': 'value', 'key3': 'value'} # pop函数实践【字典中删除key-value值,删除的同时:返回key对应的value值】 product = { "name": "红烧牛肉面", "type": "熟食", "price": 1.50, "stock": 100, "desc": "红烧牛肉面非常好吃!" } name = product.pop("name") # 若键不存在,可以设置默认值 print(name) # 红烧牛肉面 print(product) # {'type': '熟食', 'price': 1.5, 'stock': 100, 'desc': '红烧牛肉面非常好吃!'}
字典popitem和setdefault:
"""" (1)popitem 函数:用于从字典中删除最后一项,并以元组的形式返回该项所对应的键和值; (2)setdefault 函数:用于设置键的默认值 若在字典中该键存在,则忽略设置;若不存在,则添加该键和值; """ # 【7】字典的 popitem 和 setdefault 函数 product = { "name": "红烧牛肉面", "type": "熟食", "price": 1.50, "stock": 100, "desc": "红烧牛肉面非常好吃!" } # 删除字典的最后一个属性key-value值,以元组的形式返回 # element = product.popitem() # print("element =", element) # element = ('desc', '红烧牛肉面非常好吃!') # print(product) # {'name': '红烧牛肉面', 'type': '熟食', 'price': 1.5, 'stock': 100} # 设置键的默认值,若有则忽略,若无则添加 # product.setdefault("price", 2.50) # print(product) # {'name': '红烧牛肉面', 'type': '熟食', 'price': 1.5, 'stock': 100, 'desc': '红烧牛肉面非常好吃!'} # product.setdefault("colour", "red") # print(product) # {'name': '红烧牛肉面', 'type': '熟食', 'price': 1.5, 'stock': 100, 'desc': '红烧牛肉面非常好吃!', 'colour': 'red'} # 修改key对应的value值 product["price"] = 2.50 print(product) # {'name': '红烧牛肉面', 'type': '熟食', 'price': 2.5, 'stock': 100, 'desc': '红烧牛肉面非常好吃!', 'colour': 'red'} # 若在字典中定义相同的key,后者覆盖前者 d = { "name": "小明", "name": "帅帅" } print(d) # {'name': '帅帅'}
字典的 update 函数:
""" update 函数:用于将字典 2 的值更新到字典 1 若字典2的键在字典1存在,则对字典1进行修改; 若不存在,则对字典1进行添加 """ # 【8】update 函数 d1 = {"name": "杨超"} d2 = {"name": "帅帅", "age": 18} d1.update(d2) print("d1 =", d1) # d1 = {'name': '帅帅', 'age': 18} print("d2 =", d2) # d2 = {'name': '帅帅', 'age': 18}
标签:product,红烧,name,牛肉面,Dict,print,字典 From: https://www.cnblogs.com/michael-study/p/18063495