字典⾥⾯的数据是以键值对形式出现,字典数据和数据顺序没有关系,即字典不⽀持下标,后期⽆论数据如何变化,只需要按照对应的键的名字查找数据即可。


1. 创建字典的语法

字典特点:
  • 符号为⼤括号
  • 数据为键值对形式出现
  • 各个键值对之间⽤逗号隔开
# 有数据字典
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
# 空字典
dict2 = {}
dict3 = dict()
注意:⼀般称冒号前⾯的为键(key),简称k;冒号后⾯的为值(value),简称v。

2. 字典常⻅操作

2.1 添加

写法:字典序列[key] = 值
注意:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对。
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
dict1['name'] = 'Rose'
# 结果:{'name': 'Rose', 'age': 20, 'gender': '男'}
print(dict1)
dict1['id'] = 110
# {'name': 'Rose', 'age': 20, 'gender': '男', 'id': 110}
print(dict1)
注意:字典为可变类型。

2.2 删除

del() / del:删除字典或删除字典中指定键值对。
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
del dict1['gender']  # 【若删除的k不存在,则报错】
# 结果:{'name': 'Tom', 'age': 20}
print(dict1)
clear():清空字典,删除字典中所有的元素
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
dict1.clear()
print(dict1) # {}

pop():删除拥有指定键的元素

letter = {"A": "a","B": "b","C": "c"
}pop_value = letter.pop('A')
print(pop_value)
print(letter)

 popitem():从字典中删除最后一个键值对

letter = {"A": "a","B": "b","C": "c"
}pop_value = letter.popitem()
print(pop_value)
print(letter)

2.3 修改

写法:字典序列[key] = 值
注意:如果key存在则修改这个key对应的值 ;如果key不存在则新增此键值对。

2.4 查找

2.4.1 key值查找

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1['name']) # Tom
print(dict1['id']) # 报错
如果当前查找的key存在,则返回对应的值;否则则报错。

2.4.2 get()

字典序列.get(key, 默认值)
注意:如果当前查找的key不存在则返回第⼆个参数(默认值),如果省略第⼆个参数,则返回 None。
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1.get('name')) # Tom
print(dict1.get('id', 110)) # 110
print(dict1.get('id')) # None

2.4.3 keys()     【查找字典中的所有key,返回可迭代的对象】

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1.keys()) # dict_keys(['name', 'age', 'gender'])

2.4.4 values()     【查找字典中的所有value,返回可迭代的对象】

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1.values()) # dict_values(['Tom', 20, '男'])

2.4.5 items()    【查找字典中的所有的键值对,返回可迭代的对象,里面的数据为元组】

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1.items()) # dict_items([('name', 'Tom'), ('age', 20), ('gender','男')])

2.5 更新

update() 方法向字典插入指定的项目。 这个指定项目可以是字典或可迭代对象。

letter1 = {"A": "a","B": "b","C": "c"
}
letter2 = {"X": "x","Y": "y","Z": "z"
}letter1.update(letter2)
print(letter1)

3. 字典的循环遍历

3.1 遍历字典的key

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for key in dict1.keys():print(key)

3.2 遍历字典的value

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for value in dict1.values():print(value)

3.3 遍历字典的元素

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for item in dict1.items():print(item)

3.4 遍历字典的键值对

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for key, value in dict1.items():print(f'{key} = {value}')

python字典用法(创建、添加、删除(del()、clear()、pop()、popitem())、修改、查找(get()、keys()、values()、items())、更新update、遍历)相关推荐

  1. 12.从入门到精通:Python字典,创建字典,访问字典的值,修改字典,删除字典,字典键的特性,字典内置函数和方法

    12.从入门到精通:Python字典,创建字典,访问字典的值,修改字典,删除字典,字典键的特性,字典内置函数和方法 Python字典 创建空字典 访问字典里的值 修改字典 删除字典元素 字典键的特性 ...

  2. 技巧 | Python 字典用法详解(超全)

    文章目录 1.dict.clear() 2.dict.copy() 3.dict.fromkeys() 4.dict.get() 5.dict.items() 6.dict.keys() 7.dict ...

  3. python字典键盘添加元素_对python字典元素的添加与修改方法详解

    1.字典中的键存在时,可以通过字典名+下标的方式访问字典中改键对应的值,若键不存在则会抛出异常.如果想直接向字典中添加元素可以直接用字典名+下标+值的方式添加字典元素,只写键想后期对键赋值这种方式会抛 ...

  4. python字典教程:添加与删除

    1. 添加字典元素 方法一:直接添加,给定键值对 #pycharm aa = {'人才':60,'英语':'english','adress':'here'} print(aa) # {'人才': 6 ...

  5. python3 字典 dict 创建 添加 修改 复制 取值 删除

    创建,添加,修改 # 可以创建空的字典 my_dict={}# 可以添加一对键值 my_dict["new_key"] = "new_value"# 可以添加多 ...

  6. python中字典的创建和删除

    字典的创建 在定义字典时,每个元素都包含了两部分:键(key)和值(value),并且在"键"和"值"之间使用英文冒号分隔,相邻两个元素使用英文逗号分离,所有的 ...

  7. Python每日一练——列表,元组和字典第十一关:del和pop的用法

    面试题第十一关: 第一部分--考点: del的用法 pop的用法 第二部分--面试题: 1.面试题一:del和pop都可以用来删除列表元素,那么它们有什么区别呢 第三部分--解析: 面试题一 之 de ...

  8. python字典用法大全

    目录 序言: 1.0 dict()函数 2.0 clear()函数 3.0 copy()函数 4.0 fromkeys()函数 5.0 get()函数 6.0 items()函数 7.0 keys() ...

  9. Python 字典用法详解(超全)

    字典(Dictionary)是Python提供的一种常用的数据结构,它用于存放具有映射关系的数据.本期给大家带来Python字典11个方法的全面解析,希望对你有所帮助. 字典由键(key)和值(val ...

最新文章

  1. 盘点2018年计算机视觉领域技术突破
  2. 敏捷开发签名人建议开发者放弃“敏捷”
  3. 如何设计出“有趣”的互联网产品?
  4. 【集合论】Stirling 子集数 ( 斯特林子集数概念 | 放球模型 | Stirling 子集数递推公式 | 划分的二元关系 加细关系 )
  5. 【NLP-ChatBot】搜索引擎的最终形态之问答系统(FAQ)详述
  6. phpcms文件结构
  7. 前端学习(1975)vue之电商管理系统电商系统之渲染参数下的可选项
  8. iPhone X Web 设计
  9. Quartz应用与集群原理分析
  10. c++ ado操作mysql_利用ADO在C++下操作access数据库
  11. dfs Codeforces Round #356 (Div. 2) D
  12. 关于异常你还不知道的
  13. bt种子php啥格式的,bt种子是什么意思(bt种子的格式及文件结构)
  14. Android富文本编辑器
  15. 计算机应用研究参考文献格式,参考文献编写规则-计算机应用研究.PDF
  16. c++::举例_举例说明:网络
  17. 什么是项目风险?如何做好项目风险管理
  18. cnn kaggle仙人掌_我如何开发可识别情绪并闯入Kaggle前10名的CNN
  19. 【Elasticsearch源码】CCR源码分析(一)
  20. LeetCode每日一题——Day21

热门文章

  1. 开放源码,华为鸿蒙HarmonyOS 2.0来了
  2. ​我国科学家成功研制全球神经元规模最大的类脑计算机
  3. 港科大谢丹阳教授问诊未来,预测长远趋势与转折点
  4. 用AI加速物联网落地,安富利的客户洞察和解决之道
  5. 2019年人工智能行业又进入冬天了吗?
  6. Yann LeCun:距离“真正的” AI,我们还缺什么?
  7. Alpha Go 之父恩师Tomaso Poggio:深度学习需要从炼金术走向化学
  8. MQ 消息中间件梳理
  9. 一篇让你搞懂 Nginx
  10. 微服务架构下静态数据通用缓存机制