脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - Python中字典的使用方法及实例

Python中字典的使用方法及实例

2023-10-20 12:13是萧萧吖 Python

在Python中,字典(dictionary)是一种非常有用的数据类型。它可以存储键值对,并且能够根据键来访问值。字典是无序的,但是在Python3.7之后,字典也开始保留插入的顺序。本文将介绍字典的基础知识以及一些实际应用中常见的使用

在Python中,字典(dictionary)是一种非常有用的数据类型。它可以存储键值对,并且能够根据键来访问值。字典是无序的,但是在Python3.7之后,字典也开始保留插入的顺序。本文将介绍字典的基础知识以及一些实际应用中常见的使用场景。

字典的基础知识

创建一个字典

在Python中,可以使用两种方式创建一个字典。

第一种方式是使用花括号{}。例如:

my_dict = {}

这样就创建了一个空字典my_dict。

第二种方式是使用dict()函数。例如:

my_dict = dict()

同样也创建了一个空字典my_dict。

添加和访问键值对

添加键值对的语法是:字典名[键] = 值。例如:

my_dict['name'] = 'Tom'
my_dict['age'] = 18

这样就往my_dict字典中添加了两个键值对,即'name': 'Tom'和'age': 18。

访问字典中的值的语法是:字典名[键]。例如:

print(my_dict['name'])

输出结果为:Tom。

修改键值对

修改字典中的键值对的语法与添加类似,只需要通过键来访问值,并重新赋值即可。例如:

my_dict['age'] = 19

这样就将my_dict字典中的'age'的值从18修改为了19。

删除键值对

删除字典中的键值对可以使用del语句或者pop()方法。例如:

# 使用del语句删除
del my_dict['name']

# 使用pop()方法删除
my_dict.pop('age')

这样就分别删除了my_dict字典中的'name': 'Tom'和'age': 19两个键值对。

字典的实例

实例1:计算字符频率

在某些情况下,我们需要统计某个字符串中每个字符出现的次数。这时候,字典就可以大显身手了。例如:

text = 'hello, world!'
freq = {}

for char in text:
    if char not in freq:
        freq[char] = 1
    else:
        freq[char] += 1

print(freq)

输出结果为:

{'h': 1, 'e': 1, 'l': 3, 'o': 2, ',': 1, ' ': 1, 'w': 1, 'r': 1, 'd': 1, '!': 1}
实例2:计算单词频率

在文本处理中,经常需要统计某个单词在一个文本中出现的次数。同样地,字典也可以胜任这个任务。例如:

text = 'Hello, how are you? Are you feeling good today?'
words = text.split()
freq = {}

for word in words:
    if word not in freq:
        freq[word] = 1
    else:
        freq[word] += 1

print(freq)

输出结果为:

{'Hello,': 1, 'how': 1, 'are': 2, 'you?': 2, 'Are': 1, 'you': 1, 'feeling': 1, 'good': 1, 'today?': 1}
实例3:计算每个人的平均成绩

在一个班级中,有若干个学生,每个学生有若干门课程的成绩。现在,需要计算每个学生的平均成绩。同样地,字典可以轻松胜任这个任务。例如:

scores = {
    'Tom': {'Math': 80, 'English': 90, 'Science': 85},
    'Mary': {'Math': 90, 'English': 95, 'Science': 92},
    'John': {'Math': 85, 'English': 87, 'Science': 89}
}

averages = {}

for name in scores:
    total = 0
    count = 0
    for subject in scores[name]:
        total += scores[name][subject]
        count += 1
    averages[name] = total / count

print(averages)

输出结果为:

{'Tom': 85.0, 'Mary': 92.33333333333333, 'John': 87.0}

## 实例4:将列表转化为字典 在一些场合下,需要将两个列表合并成一个字典。例如:

keys = ['name', 'age', 'gender']
values = ['Tom', 18, 'male']

person_dict = dict(zip(keys, values))
print(person_dict)

输出结果为:

{'name': 'Tom', 'age': 18, 'gender': 'male'}

结语

字典是Python中非常有用的数据类型之一。它可以存储键值对,并且能够根据键来访问值。本文介绍了字典的基础知识以及一些实际应用中常见的使用场景。希望读者能够从中受益,更好地运用字典来解决自己的问题。咱们下期见。你们的萧萧吖。

到此这篇关于Python中字典的使用方法及实例的文章就介绍到这了,更多相关内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/m0_55813592/article/details/130349275

延伸 · 阅读

精彩推荐
  • Python解决jupyter 在浏览器中 代码不执行的问题

    解决jupyter 在浏览器中 代码不执行的问题

    这篇文章主要介绍了解决jupyter 在浏览器中 代码不执行的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    SSX_ming9742021-09-27
  • PythonSanic框架异常处理与中间件操作实例分析

    Sanic框架异常处理与中间件操作实例分析

    这篇文章主要介绍了Sanic框架异常处理与中间件操作,结合实例形式较为详细的分析了Sanic框架抛出异常、异常处理、中间件、监听器相关原理与操作技巧,需...

    喷跑的豆子7142021-03-17
  • Python详解tensorflow训练自己的数据集实现CNN图像分类

    详解tensorflow训练自己的数据集实现CNN图像分类

    本篇文章了tensorflow训练自己的数据集实现CNN图像分类,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    康小武4692021-01-13
  • PythonPyinstaller+Pipenv打包Python文件的实现示例

    Pyinstaller+Pipenv打包Python文件的实现示例

    相信大家都试过将Python文件进行打包,本文主要介绍了Pyinstaller+Pipenv打包Python文件,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小...

    Dream丶Killer10112022-10-19
  • PythonPython数据分析之pandas读取数据

    Python数据分析之pandas读取数据

    Pandas读取的文件主要有CSV,TXT和JSON,今天就整理了这3种文件格式的读取和导出代码,文中有非常详细的代码示例及介绍,需要的朋友可以参考下...

    小菜鸡也会有春天6662021-11-21
  • PythonPython实现对比不同字体中的同一字符的显示效果

    Python实现对比不同字体中的同一字符的显示效果

    这篇文章主要介绍了Python实现对比不同字体中的同一字符的显示效果,也就是对比不同字体中某个字的显示效果,这在做设计时非常有用,需要的朋友可以参考...

    依云6562020-06-10
  • Pythonpython实现五子棋小游戏

    python实现五子棋小游戏

    这篇文章主要介绍了python实现五子棋小游戏,使用pygame模块编写一个五子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们...

    在校学渣一枚12002021-05-22
  • PythonPytorch学习笔记DCGAN极简入门教程

    Pytorch学习笔记DCGAN极简入门教程

    网上GAN的教程太多了,这边也谈一下自己的理解,本文给大家介绍一下GAN的两部分组成,有需要的朋友可以借鉴参考下,希望能够有所帮助...

    xz130857934011802022-01-01