Python学习之路-字典的使用

简介: 开发者学堂课程,了解Python语言的基本特性、编程环境的搭建、语法基础、算法基础等,了解Python的基本数据结构,对Python的网络编程与Web开发技术具备初步的知识,了解常用开发框架的基本特性,以及Python爬虫的基础知识。课程地址:https://developer.aliyun.com/learning/course/600/detail/8716

(一)创建字典

1.语法是{k1∶v1,k2:v2,k3∶v3},键与值之间用冒号隔开,多个项之间用逗号隔开,这是键值对的结构。

d={'name':' TOM','age':18,'sex':'男'}

2.我们还可以使用 dict()函数来创建字典

每一个参数都是一个键值对,参数名就是键,参数名就是值

这种方式创建的字典,key 都是字符串

d=dict(name='aa',sex='女',age=19)
print(d,type(d))

得到的结论是:

{'name': 'aa', 'sex': '女', 'age': 19} <class 'dict'>


3.可以将一个包含有双值子序列的序列转换为字典,双值序列就是序列中只有两个值,比如[1,2],('a',3),'ab'。

d=dict([('name','aa'),('age',18)])
print(d,type(d))

得到的结论是:

{'name': 'aa', 'age': 18} <class 'dict'>

(二)“len”获取键值对数量

d=dict([('name','aa'),('age',18)])
print(len(d))    # 2

2个健值对

(三)in 和 not in

“in”是用来检查字典中是否包含指定的键,

“not in”是检查字典中是否不包含指定的键

d=dict([('name','aa'),('age',18)])
print('hello'ind) # Falseprint('name'ind) # True

(四)根据键,获取值

获取字典里的值,需要根据键来获取。语法是 d[key]

通过[]来获取值时,如果键不存在,会抛出异常 KeyError

d=dict([('name','aa'),('age',18)])
print(d['name'])  # aa

还有一种方式获取字典里的值,就是 get(key[,default])

get 这种方式看起来有点麻烦,但是如果获取的键在字典中不存在,会返回 none

d=dict([('name','aa'),('age',18)])
print(d.get('name'))    # aaprint(d.get('bb'))      # None

(五)修改字典

修改字典的语法是 d[key]=value,如果key存在则修改,不存在则添加

d=dict([('name','aa'),('age',18)])
d['name']='孙悟空'print(d)

得到的结论是:{'name': '孙悟空', 'age': 18}


像字典中添加:

d=dict([('name','aa'),('age',18)])
d['sex']='男'print(d)

得到的结论是:{'name': 'aa', 'age': 18, 'sex': '男'}


setdefault,set 是设置,default 是默认,setdefault(key[,default])也可以用来向字典中添加 key-value,如果 key 已经存在于字典中,则返回 key 的值,不会对字典做任何操作;如果 key 不存在,则向字典中添加这个 key,并设置 value。

d=dict([('name','aa'),('age',18)])
result=d.setdefault('name','bb')
print(result)

有name,则返回name的值 aa

d=dict([('name','aa'),('age',18)])
result=d.setdefault('sex','bb')
print(result)

没有sex这个key,则向字典中添加这个key,并返回bbs


update,可将其他字典中的 key-value 添加到当前字典中

aa={"a":1,"b":2,"c":3}
bb={"f":4,"d":5,"e":6}
aa.update(bb)
print(aa)
# 执行后会是包含这两个字典的键值对

{'a': 1, 'b': 2, 'c': 3, 'f': 4, 'd': 5, 'e': 6}

但如果,bb={"c":4,"d":5,"e":6},最后aa 里面的 c 就被 bb替换掉变成4了

相关文章
|
3月前
|
安全 关系型数据库 测试技术
学习Python Web开发的安全测试需要具备哪些知识?
学习Python Web开发的安全测试需要具备哪些知识?
121 61
|
1天前
|
存储 算法 API
【01】整体试验思路,如何在有UID的情况下获得用户手机号信息,python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
【01】整体试验思路,如何在有UID的情况下获得用户手机号信息,python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
109 82
|
3月前
|
机器学习/深度学习 Python
堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能
本文深入探讨了堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能。文章详细介绍了堆叠的实现步骤,包括数据准备、基础模型训练、新训练集构建及元学习器训练,并讨论了其优缺点。
168 3
|
2天前
|
Python
python pandas学习(一)
该代码段展示了四个主要操作:1) 删除指定列名,如商品id;2) 使用正则表达式模糊匹配并删除列,例如匹配订单商品名称1的列;3) 将毫秒级时间戳转换为带有时区调整的日期时间格式,并增加8小时以适应本地时区;4) 将列表转换为DataFrame后保存为Excel文件,文件路径和名称根据变量拼接而成。
16 3
|
2月前
|
Python 容器
Python学习的自我理解和想法(9)
这是我在B站跟随千锋教育学习Python的第9天,主要学习了赋值、浅拷贝和深拷贝的概念及其底层逻辑。由于开学时间紧张,内容较为简略,但希望能帮助理解这些重要概念。赋值是创建引用,浅拷贝创建新容器但元素仍引用原对象,深拷贝则创建完全独立的新对象。希望对大家有所帮助,欢迎讨论。
|
2月前
|
Python
Python学习的自我理解和想法(10)
这是我在千锋教育B站课程学习Python的第10天笔记,主要学习了函数的相关知识。内容包括函数的定义、组成、命名、参数分类(必须参数、关键字参数、默认参数、不定长参数)及调用注意事项。由于开学时间有限,记录较为简略,望谅解。通过学习,我理解了函数可以封装常用功能,简化代码并便于维护。若有不当之处,欢迎指正。
|
1月前
|
数据可视化 数据挖掘 大数据
1.1 学习Python操作Excel的必要性
学习Python操作Excel在当今数据驱动的商业环境中至关重要。Python能处理大规模数据集,突破Excel行数限制;提供丰富的库实现复杂数据分析和自动化任务,显著提高效率。掌握这项技能不仅能提升个人能力,还能为企业带来价值,减少人为错误,提高决策效率。推荐从基础语法、Excel操作库开始学习,逐步进阶到数据可视化和自动化报表系统。通过实际项目巩固知识,关注新技术,为职业发展奠定坚实基础。
|
1月前
|
JSON 监控 安全
深入理解 Python 的 eval() 函数与空全局字典 {}
`eval()` 函数在 Python 中能将字符串解析为代码并执行,但伴随安全风险,尤其在处理不受信任的输入时。传递空全局字典 {} 可限制其访问内置对象,但仍存隐患。建议通过限制函数和变量、使用沙箱环境、避免复杂表达式、验证输入等提高安全性。更推荐使用 `ast.literal_eval()`、自定义解析器或 JSON 解析等替代方案,以确保代码安全性和可靠性。
45 2
|
2月前
|
存储 索引 Python
Python学习的自我理解和想法(6)
这是我在B站千锋教育学习Python的第6天笔记,主要学习了字典的使用方法,包括字典的基本概念、访问、修改、添加、删除元素,以及获取字典信息、遍历字典和合并字典等内容。开学后时间有限,内容较为简略,敬请谅解。
|
2月前
|
存储 程序员 Python
Python学习的自我理解和想法(2)
今日学习Python第二天,重点掌握字符串操作。内容涵盖字符串介绍、切片、长度统计、子串计数、大小写转换及查找位置等。通过B站黑马程序员课程跟随老师实践,非原创代码,旨在巩固基础知识与技能。

热门文章

最新文章