Python 字典(Dictionary)详细介绍

yizhihongxing

Python 字典 (Dictionary) 详细介绍

什么是字典

在 Python 中,字典 (Dictionary) 是一种无序的键值对 (key-value pair) 集合。字典使用键来访问其对应的值,键和值可以是任意类型的数据。

创建字典

我们可以使用以下两种方式来创建一个字典。

直接使用大括号

我们可以使用大括号 {} 来创建一个空的字典,然后逐个添加键值对。

my_dict = {}
my_dict['name'] = 'Alice'
my_dict['age'] = 20
my_dict['gender'] = 'female'
print(my_dict)  # {'name': 'Alice', 'age': 20, 'gender': 'female'}

也可以在创建字典时指定键值对。

my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
print(my_dict)  # {'name': 'Alice', 'age': 20, 'gender': 'female'}

使用 dict() 函数

我们可以使用 dict() 函数来创建字典,也可以将列表或元组转换成字典。

my_dict1 = dict(name='Bob', age=30, gender='male')
print(my_dict1)  # {'name': 'Bob', 'age': 30, 'gender': 'male'}

my_dict2 = dict([('name', 'Charlie'), ('age', 40), ('gender', 'male')])
print(my_dict2)  # {'name': 'Charlie', 'age': 40, 'gender': 'male'}

my_dict3 = dict(zip(['name', 'age', 'gender'], ['David', 50, 'male']))
print(my_dict3)  # {'name': 'David', 'age': 50, 'gender': 'male'}

访问字典

我们可以使用字典中的键来访问其对应的值。

my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
print(my_dict['name'])  # Alice
print(my_dict['age'])  # 20
print(my_dict['gender'])  # female

如果字典中不存在指定的键,将会引发 KeyError 异常。

my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
print(my_dict['height'])  # KeyError: 'height'

可以使用 get() 方法来避免上述错误。

my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
print(my_dict.get('name'))  # Alice
print(my_dict.get('height'))  # None

更新字典

我们可以通过为已有的键赋值来更新字典中的值,也可以使用 update() 方法来同时更新多个键值对。

my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
my_dict['age'] = 21
print(my_dict)  # {'name': 'Alice', 'age': 21, 'gender': 'female'}

my_dict.update({'age': 22, 'height': 170})
print(my_dict)  # {'name': 'Alice', 'age': 22, 'gender': 'female', 'height': 170}

删除字典

我们可以使用 del 关键字来删除整个字典或单个键值对。

my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
del my_dict['age']
print(my_dict)  # {'name': 'Alice', 'gender': 'female'}

del my_dict
# NameError: name 'my_dict' is not defined

字典常用方法

items()

返回一个包含所有 (键, 值) 元组的列表。

my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
print(my_dict.items())  # dict_items([('name', 'Alice'), ('age', 20), ('gender', 'female')])

keys()

返回一个包含所有键的列表。

my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
print(my_dict.keys())  # dict_keys(['name', 'age', 'gender'])

values()

返回一个包含所有值的列表。

my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
print(my_dict.values())  # dict_values(['Alice', 20, 'female'])

示例说明

示例1:计数器

下面的示例演示了如何使用字典来实现一个简单的计数器。

text = 'hello world'
counter = {}

for c in text:
    if c not in counter:
        counter[c] = 1
    else:
        counter[c] += 1

print(counter)  # {'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w': 1, 'r': 1, 'd': 1}

示例2:查找标签

下面的示例演示了如何从 HTML 标签中提取出所有的标签名。

html = '<html><head><title>Page Title</title></head><body><p>test<a href="#">link</a></p><br/></body></html>'
tags = set()
pos = 0

while True:
    start = html.find('<', pos)
    if start == -1:
        break
    end = html.find('>', start + 1)
    if end == -1:
        break
    tag = html[start + 1:end]
    if '/' in tag:
        tag = tag[tag.index('/') + 1:]
    if ' ' in tag:
        tag = tag[:tag.index(' ')]
    tags.add(tag)
    pos = end + 1

print(tags)  # {'a', 'br', 'title', 'head', 'body', 'html', 'p'}

以上就是 Python 字典详细介绍的完整攻略。希望能对您有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 字典(Dictionary)详细介绍 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • 浅析Python 中几种字符串格式化方法及其比较

    下面我将为大家详细讲解如何浅析Python中几种字符串格式化方法及其比较。 介绍 在Python中,字符串是程序设计中非常重要的一部分,字符串格式化也是一个必不可少的内容,因此Python提供了几种字符串格式化方法。本文将简要介绍这几种字符串格式化方法及其比较。 字符串格式化方法 字符串连接 字符串连接是最简单的字符串格式化方法。它可以使用加号(+)将多个字…

    python 2023年6月5日
    00
  • python函数的作用域及关键字详解

    下面是详细讲解“python函数的作用域及关键字详解”的完整攻略。 Python函数的作用域 Python函数的作用域分为全局作用域和局部作用域。 全局作用域包含整个程序可访问的所有变量和函数,它们在主程序外部定义。 局部作用域包含在函数中定义的变量和函数,它们只在函数内部可访问。 当Python解释器遇到变量时,它会查找变量的作用域。如果变量在局部作用域中…

    python 2023年6月5日
    00
  • Python中zip函数如何使用

    当我们需要对多个列表进行组合和操作时,Python中zip()函数就显得尤为方便和实用。下面我们来详细讲解一下Python中zip函数的使用方法。 zip函数概述 zip()函数可以将多个可迭代对象中对应的元素打包成一个个元组,然后返回这些元组的列表。它常用于对多个列表进行遍历或合并操作。 具体语法如下: zip([iterable, …]) 其中,可迭…

    python 2023年5月18日
    00
  • python3 实现除法结果为整数

    要让Python3实现除法结果为整数,有以下两种方法: 方法一:整除符号 // 当两个整数相除时,使用整除符号 // 可以得到整除的结果。 示例1:求 $10$ 除以 $3$ 的结果(整除)。 result = 10 // 3 print(result) 输出结果为: 3 示例2:求 $4$ 除以 $2$ 的结果(整除)。 result = 4 // 2 p…

    python 2023年6月5日
    00
  • Python3内置模块pprint让打印比print更美观详解

    Python3内置模块pprint让打印比print更美观详解 在Python编程过程中使用print输出结果时,有时可能会因结果过于冗长或格式混乱导致难以阅读或使用。这时候我们可以使用Python3内置模块pprint让打印输出更加美观,易读,方便。 什么是pprint pprint是Python的一个内置模块,全称为pretty print,可以将Pyt…

    python 2023年6月5日
    00
  • Python-GUI wxPython之自动化数据生成器的项目实战

    Python-GUI wxPython之自动化数据生成器的项目实战攻略 项目简介 本项目使用Python GUI框架wxPython,实现了一个自动化数据生成器。用户可以通过界面输入各种参数,生成符合其需求的数据文件。 项目结构 项目主要分为三个模块:界面设计、数据生成和文件导出。界面设计使用wxPython实现,包括各种控件的设计和布局;数据生成实现在一个…

    python 2023年5月19日
    00
  • Python 列表(List) 的三种遍历方法实例 详解

    Python中的列表(List)是一种常用的数据类型,可以存储多个元素。本文将详细讲解Python中列表的三种遍历方法,包括for循环遍历、while循环遍历和列表推导式,并提供两个实例说明。 for循环遍历 使用for循环遍历列表是常见的方法。可以使用in关键字来遍历列表中的每个元素。例如: my_list = [1, 2, 3, 4, 5] for el…

    python 2023年5月13日
    00
  • python实现日常记账本小程序

    下面我将为您详细讲解如何实现”Python实现日常记账本小程序”。 步骤一:确定需求和功能设计 首先,我们需要明确需求和功能设计,确定程序中需要实现的功能,以及各个功能的具体实现方式。例如: 记录收入和支出,支持多种货币格式; 支持按时间、类别、金额等多种方式进行查询和筛选; 统计总收入、总支出、净收入等数据; 数据安全性:支持数据备份与恢复; 易使用性:提…

    python 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部