字典的使用(上) | Python从入门到精通:进阶篇之十四

简介: 本节重点介绍了字典中的一些基本操作,包含创建字典,获取字典的个数,检查字典中是否包含/不包含某个键,以及获取value,修改字典等操作方法。

初识字典 | Python从入门到精通:进阶篇之十三

字典的使用

关于操作文档,推荐去官网查看。

image.png
image.png
image.png

创建字典

#创建字典
#使用{}
#语法:{k1:v1,k2:v2,k3:v3}

#使用dict()函数来创建字典
#每一个参数都是一个键值对,参数名就是键,参数值就是值(这种方式创建的字典,key都是字符串)
d = dict(name='孙悟空',age='18',gender='男')
print(d,type(d))

执行结果:

image.png

使用序列创建字典

#创建字典
#使用{}
#语法:{k1:v1,k2:v2,k3:v3}

#使用dict()函数来创建字典
#每一个参数都是一个键值对,参数名就是键,参数值就是值(这种方式创建的字典,key都是字符串)
d = dict(name='孙悟空',age='18',gender='男')


#也可以将一个包含有双值子序列的序列转换为字典
#双值序列,序列中只有两个值,[1,2]('a',3) 'ab'
#子序列,如果序列中的元素也是序列,那么我们就称这个元素为子序列
# [(1,2),(3,5)]
d = dict([('name','孙悟饭'),('age',18)])
print(d,type(d))

执行结果:

image.png

获取字典中键值对的个数

d = dict([('name','孙悟饭'),('age',18)])
# len() 获取字典中键值对的个数
print(len(d))

执行结果:

image.png

d = dict(name='孙悟空',age='18',gender='男')
# len() 获取字典中键值对的个数
print(len(d))

执行结果:

image.png

检查序列中是否包含/不包含指定的键

# in 检查字典中是否包含指定的键
# not in 检查字典中是否不包含指定的键
print('name' in d)

执行结果:

image.png

# in 检查字典中是否包含指定的键
# not in 检查字典中是否不包含指定的键
print('hello' in d)

执行结果:

image.png

获取字典中的值

d = dict(name='孙悟空',age='18',gender='男')
# 获取字典中的值,根据键来获取值
# 语法:d[key]
print(d['name'])

执行结果:

image.png

key值必须是字符串的形式,如果不加“''”,将会把当做一个变量去处理,程序会出错。

print(d[age])

执行结果:

image.png

如果是变量的形式,则如下:

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

执行结果:

image.png

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

另外还有一种方法可以获取字典里面的值。
get(key[, default]) 该方法用来根据键来获取字典中的值。

d = dict(name='孙悟空',age='18',gender='男')
print(d.get('name'))
#   如果获取的键在字典中不存在,会返回None
#   也可以指定一个默认值,来作为第二个参数,这样获取不到值时将会返回默认值
print(d.get('hello'))
print(d.get('hello','默认值'))

执行结果:

image.png
image.png
image.png

修改字典
d[key] = value

#d[key] = value 如果key存在则覆盖,不存在则添加
d['name'] = 'sunwukong' # 修改字典的key-value
d['address'] = '花果山' # 向字典中添加key-value

print(d)

执行结果:

image.png

setdefault(key[, default])

# setdefault(key[, default])可以用来向字典中添加key-value
#   如果key已经存在于字典中,则返回key的值,不会对字典做任何操作
#   如果key不存在,则向字典中添加这个key,并设置value
result = d.setdefault('name','猪八戒')
result = d.setdefault('hello','猪八戒')

print('result =',result)
print(d)

执行结果:

image.png

update([other])

# update([other])
# 将其他的字典中的key-value添加到当前字典中
# 如果有重复的key,则后边的会替换当前的
d = {'a':1,'b':2,'c':3}
#d2 = {'d':4,'e':5,'f':6}
d2 = {'d':4,'e':5,'f':6, 'a':7}
d.update(d2)

print(d)

执行结果:

image.png
image.png

本节重点介绍了字典中的一些基本操作,包含创建字典,获取字典的个数,检查字典中是否包含/不包含某个键,以及获取value,修改字典等操作方法。

配套视频课程,点击这里查看

获取更多资源请订阅Python学习站

相关文章
|
9天前
|
存储 程序员 开发者
Python编程基础:从入门到实践
【10月更文挑战第8天】在本文中,我们将一起探索Python编程的奇妙世界。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的信息。我们将从Python的基本概念开始,然后逐步深入到更复杂的主题,如数据结构、函数和类。最后,我们将通过一些实际的代码示例来巩固我们的知识。让我们一起开始这段Python编程之旅吧!
|
10天前
|
测试技术 Python
Python中的装饰器:从入门到精通
【10月更文挑战第7天】本文旨在通过浅显易懂的方式,向读者介绍Python中装饰器的概念、用法和高级应用。我们将从装饰器的定义开始,逐步深入到如何创建和使用装饰器,最后探讨装饰器在实战中的应用。文章将结合代码示例,帮助读者更好地理解和掌握这一强大的工具。
|
6天前
|
Python
【python从入门到精通】-- 第五战:函数大总结
【python从入门到精通】-- 第五战:函数大总结
29 0
|
11天前
|
Python
蓝桥杯练习题(一):Python组之入门训练题
这篇文章是关于蓝桥杯Python组的入门训练题,包括Fibonacci数列、圆的面积、序列求和和A+B问题的具体代码实现和样例输出。
64 0
|
1天前
|
存储 算法 Python
【10月更文挑战第16天】「Mac上学Python 27」小学奥数篇13 - 动态规划入门
本篇将通过 Python 和 Cangjie 双语介绍动态规划的基本概念,并解决一个经典问题:斐波那契数列。学生将学习如何使用动态规划优化递归计算,并掌握编程中的重要算法思想。
32 3
|
3天前
|
设计模式 开发者 Python
Python编程中的设计模式:从入门到精通####
【10月更文挑战第14天】 本文旨在为Python开发者提供一个关于设计模式的全面指南,通过深入浅出的方式解析常见的设计模式,帮助读者在实际项目中灵活运用这些模式以提升代码质量和可维护性。文章首先概述了设计模式的基本概念和重要性,接着逐一介绍了几种常用的设计模式,并通过具体的Python代码示例展示了它们的实际应用。无论您是Python初学者还是经验丰富的开发者,都能从本文中获得有价值的见解和实用的技巧。 ####
|
5天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
【10月更文挑战第12天】本文介绍了如何使用Python和Scikit-learn进行机器学习的基础知识和入门实践。首先概述了机器学习的基本概念,包括监督学习、无监督学习和强化学习。接着详细讲解了Python和Scikit-learn的安装、数据处理、模型训练和评估等步骤,并提供了代码示例。通过本文,读者可以掌握机器学习的基本流程,并为深入学习打下坚实基础。
11 1
|
7天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
本文介绍了如何使用Python和Scikit-learn进行机器学习的基础知识和实践。首先概述了机器学习的基本概念,包括监督学习、无监督学习和强化学习。接着详细讲解了Python和Scikit-learn的安装、数据处理、模型选择与训练、模型评估及交叉验证等关键步骤。通过本文,初学者可以快速上手并掌握机器学习的基本技能。
32 2
|
6天前
|
自然语言处理 Python
【python从入门到精通】-- 第三战:输入输出 运算符
【python从入门到精通】-- 第三战:输入输出 运算符
35 0
【python从入门到精通】-- 第三战:输入输出 运算符
|
10天前
|
数据可视化 开发者 Python
使用Python进行数据可视化:从入门到精通
【10月更文挑战第7天】本文将引导您通过Python的可视化库,如Matplotlib和Seaborn,来探索和展示数据。我们将通过实际代码示例,学习如何创建各种图表,包括条形图、散点图和直方图等,并讨论如何优化这些图表以更好地传达信息。无论您是初学者还是有一定基础的开发者,这篇文章都能帮助您提高数据可视化技能。