Dict【字典】

定义:

  • 字典是一种映射类型,它的元素是键值对,字典的键必须为不可变类型,且不能重复;
  • 键可以是任意不可变类型(元祖 / 字符串 / 数字) 推荐:字典的键推荐使用:英文字符
  • 创建字典的方式:(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}
复制代码

 

posted @   帅帅的编程之路  阅读(46)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
点击右上角即可分享
微信分享提示