有关字典的知识

本文介绍了Python字典的基本概念,包括定义、键值对操作(查看长度、取值、添加修改、删除)、字典合并、清除、遍历,以及在商品管理系统中的实际应用。涵盖了字典的典型使用场景和关键操作技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字典(dictionary、map)

有关字典的知识

1.1字典的定义

字典同样可以用来 存储多个数据;通常用于存储 描述一个物体(对象)的相关信息和列表的区别:列表是有序的,字典是无序。

键值对:

名字(键,钥匙):张三(值,value

        年龄(键,key):18(值,value)

1.2定义

zsf_dic = {

"name":"张三丰",
    "age":108,
    "love":["小姐姐","灭绝师太"],
    "dog":{
        "name":"小黑",
        "type":"藏獒",
        "age":5
    }
}



##(1)查看字典的长度:有 几对 键值对
print(len(zsf_dic)) ##4

##(2)取值
##(2)取出张三丰名字
name = zsf_dic['name']
print("名字:%s"%name)

##取出 张三丰 狗
dog = zsf_dic['dog']
##取出狗的名字
print(dog["name"])
print(zsf_dic['dog']["name"])

##(3)添加和修改
#如果修改的键存在 则是 修改,替换原有的值
zsf_dic["name"] = "奥利给"
print(zsf_dic)
##修改的键 不存在, 则是 添加,添加一对键值对
zsf_dic["name22"] = "奥利给"
print(zsf_dic)


##(4)删除,通过键来删除
zsf_dic.pop("name22")
print(zsf_dic)
##删除指定键 不存在的时候,会报错
#zsf_dic.pop("age22")


##(5)字典合并
a = {
    "name":"zsf",
    "age":18
}
b = {
    "score":100,
    "height":180,
    "age":19
}
##字典合并
##将b字段的所有键值对 添加 到a中,如果有重复的键,会使用b的值
a.update(b)
print("******** a *******")
print(a)
print("******** b *******")
print(b)

##(5)字典清除
b.clear()
print(b) #{}

##(6)字典遍历
zsf_dic = {
    "name":"张三丰",
    "age":108,
    "love":["小姐姐","灭绝师太"],
    "dog":{
        "name":"小黑",
        "type":"藏獒",
        "age":5
    }
}

for k in zsf_dic: #每次循环中 变量k,是对应键的值
    print("%s -> %s "%(k,zsf_dic[k]))

##(7)字典最常用的使用
##商品管理系统:商品(sku,名字,价格,品牌)
productList = [{
    "sku":1,
    "name":"iphone 12 pro max",
    "price":12999,
    "brand":"苹果"
},{
    "sku":2,
    "name":"mate 40",
    "price":7999,
    "brand":"华为"
},{
    "sku":3,
    "name":"vivo r9",
    "price":3999,
    "brand":"vivo"
}]
print(productList)
productList.append({
    "sku": 4,
    "name": "oppo r9",
    "price": 2999,
    "brand": "oppo"
})
print(productList)

 

<think>好的,我现在需要处理用户的问题,他们想了解Python字典操作的知识点。首先,我要回顾用户之前的对话历史,看看他们之前问过什么,以便更好地理解他们的需求。 用户之前询问了Python相关的试题,我给出了一些分类和示例,包括基础语法、数据结构与算法、函数与模块、文件与异常处理、应用场景以及进阶算法题。现在用户继续深入,询问字典操作的知识点。这说明用户可能已经掌握了基本的Python语法,现在想更详细地了解字典这一特定数据结构的使用方法。 接下来,我需要确定用户的需求是什么。他们可能正在准备面试,或者在学习Python的过程中需要巩固字典相关的知识。用户可能希望了解字典的基本操作、常用方法、应用场景以及一些高效的使用技巧。此外,考虑到用户之前的问题中有关于试题的例子,他们可能对实际编程题目中如何应用字典操作感兴趣。 在整理知识点时,我应该涵盖字典的基础操作如创建、增删改查,然后介绍常用方法如get(), keys(), items(), update()等。同时,结合应用场景,比如统计词频、缓存数据、JSON转换等,这样用户可以看到字典在实际中的用途。此外,还需要提到一些高级技巧,如字典推导式、默认值处理、合并字典的方法,以及性能优化的注意事项,比如字典的查找效率。 需要注意的是,用户可能对某些方法的细节不太清楚,比如setdefault()和get()的区别,或者如何高效地合并多个字典。此外,用户可能对字典在算法题中的应用,比如哈希表的使用场景感兴趣,比如两数之和等问题。 在组织内容时,应该结构清晰,分点列出,每个部分给出示例代码,这样用户能够通过例子更好地理解。同时,要避免使用过于复杂的术语,保持解释的简洁明了,确保适合不同层次的学习者。 最后,要检查是否有遗漏的重要知识点,比如Python 3.9+中的合并操作符,或者字典视图对象的特点,这些对用户来说可能有帮助。同时,提醒用户注意字典的无序性(在Python 3.7之前)以及键的限制(必须是不可变类型),这些是常见的易错点。 总结来说,我需要提供一个全面但简明扼要的字典操作指南,涵盖基础到进阶的内容,结合实际例子和应用场景,帮助用户巩固知识并应用到实际问题中。</think>以下是Python字典操作的核心知识点详解,结合代码示例帮助理解: --- ### 一、字典基础操作 #### 1. 创建字典 ```python dict1 = {} # 空字典 dict2 = {'name': 'Alice', 'age': 25} # 直接初始化 dict3 = dict(name='Bob', score=90) # 用dict构造函数 dict4 = dict([('x', 1), ('y', 2)]) # 从键值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值