首页 > 其他分享 >Dict【字典】

Dict【字典】

时间:2024-03-09 23:11:33浏览次数:28  
标签:product 红烧 name 牛肉面 Dict print 字典

定义:

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

相关文章

  • 常见的弱口令 密码字典 下载网站
    Weakpass:这是一个专门提供弱口令字典的网站,包括单词、数字、常用密码、常见手机号码等。官网地址:https://weakpass.com/SecList:这是一个安全研究者和渗透测试人员常用的资源库,其中收集了一个"Passwords"目录,包含着许多大型的字典文件,包括弱口令字典。官网地址:https://g......
  • python Ai 应用开发基础训练,字符串,字典,文件
    --------------------------------------  编程能是大模型应用的天花板..................................................................所以要好好将大模型应用在企业一定要好好练好最看不起的一环,基础能力字符串处理 本文档来自老男孩培训Alex课程记录,我在2017年......
  • python字典存入csv
     存入csvimportcsvfromconfig.globalparameterimportexecl_saveimportcsvtitle='这是一个标题'price=23.45deal=5location='广东广州'province='广东'city='广州'shop='门店'result=1#构建商品信息字典pr......
  • day05_homework_dict
    点击查看代码#请将列表中的每个元素通过"_"链接起来。#users=['李少奇','李启航','渣渣辉']#print('_'.join(users))#请将列表中的每个元素通过"_"链接起来。"""users=['李少奇','李启航',666,'渣渣辉']......
  • oracle 19c普通用户查询字典表all_views时等待row cache mutex事件
    近日,一19coraclerac测试环境,初始反馈是sys用户查询很快,cdb用户如c##any查询系统表如all_tables很慢,至少相差几十倍、有时候直接半天超时还没执行完,经查一开始发现在等待gccrmultiblockmixed事件,该事件据官方解释,该事件时提升性能用的,如下:OracleGCCRMultiBlockMixed......
  • Redis - 字典的实现与哈希冲突解决
    1.字典的实现edis的字典数据类型的实现主要分为两个部分:typedefstructdict{dictType*type;void*privdata;dicththt[2];longrehashidx;unsignedlongiterators;}dict;其中,type属性表示字典的类型,而privdata属性表示字典的私有数据,它是......
  • ULID(Universally Unique Lexicographically Sortable Identifier)是一种用于生成全局唯
    ULID(UniversallyUniqueLexicographicallySortableIdentifier)是一种用于生成全局唯一、可按字典序排序的标识符的格式。ULID结合了时间戳和随机数的特性,旨在提供高性能、低碰撞、可排序和易读的标识符。ULID的主要特点包括:全局唯一性:通过结合时间戳和随机数的方式,ULID可以生......
  • 字典推导式
    字典推导式字典推导式是一种简洁的构造字典的方式。它的语法和列表推导式类似,只不过结果是一个字典,而不是列表。enumerate函数enumerate函数可以将一个可迭代对象转化为一个枚举对象,其中每个元素都是一个包含索引和值的元组。它的基本语法如下:enumerate(iterable,[start=0])......
  • 字典常用
    当然,我可以帮你将这些Python代码转化为Markdown格式的笔记。以下是你的Markdown笔记:Python中的字典操作字典是Python中的一种数据类型,它存储的是键值对。字典的键必须是不可变的数据类型,如整数、浮点数、字符串、元组等,而值可以是任何类型的数据。1.增加元素dic={}dic["t......
  • python列表、集合、字典转换要点以及查找速度区别,如何在大规模数据中实现快速查找
    1.list与set的区别与优缺点:循环速度:list最适合做固定长度的遍历,而且有顺序。set是无序的,list转换为set会乱序,若用set给list去重,转化为list时须用原list的index排序:new_list.sort(key=old_list.index)。所以这种循环尽量用list查询速度:set>list,set查询的key都是ha......