Python 字典(Dictionary)详细介绍

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性能分析工具py-spy原理用法解析

    Python性能分析工具py-spy原理用法解析 什么是py-spy? py-spy是一个Python性能分析工具,它可以实时地监测Python进程的CPU使用和函数调用情况,以便我们找到Python程序中的性能瓶颈,提高程序的运行效率。 py-spy的工作原理 py-spy利用了Linux系统的进程跟踪功能,通过/proc/pid/syscall文件夹中的…

    python 2023年5月14日
    00
  • centos 下面安装python2.7 +pip +mysqld

    下面是在 CentOS 下安装 Python2.7、pip 和 MySQL 的完整攻略: 1. 更新系统 在安装任何软件之前,先更新一下系统: sudo yum -y update 2. 安装相关依赖包 安装 Python 和 pip 需要一些依赖项,因此需要先安装它们: sudo yum -y install gcc openssl-devel bzip2…

    python 2023年5月14日
    00
  • python读取有密码的zip压缩文件实例

    如果要使用 Python 读取有密码的 zip 压缩文件,可以使用 Python 内置的 zipfile 模块和 pyminizip 第三方模块。接下来我们分别介绍这两个模块的使用方法。 使用 Python 内置的 zipfile 模块 步骤一:安装 unzip 命令 在使用 zipfile 模块之前,我们需要先安装 unzip 命令。如果你使用的是 Ubu…

    python 2023年6月3日
    00
  • Python Tkinter 简单登录界面的实现

    一、Python Tkinter 简单登录界面的实现 在Python中,可以通过Tkinter库来实现简单的GUI界面。下面以实现简单的登录界面为例进行讲解,并对实现过程进行详细讲解。 二、界面实现 界面实现主要分为两个部分:登录窗口的设计和登录按钮事件的实现。 登录窗口的设计: 导入Tkinter库 from tkinter import * 创建窗口对象…

    python 2023年6月13日
    00
  • Django实现前台上传并显示图片功能

    下面是使用Django实现前台上传并显示图片的完整攻略: 1. 创建项目和应用 首先,我们需要利用Django创建一个项目和一个应用。在终端中执行如下命令: $ django-admin startproject myproject $ cd myproject $ python manage.py startapp myapp 2. 配置数据库 接下来,我…

    python 2023年6月3日
    00
  • Python获取”3年前的今天”的日期时间问题

    要获取“3年前的今天”的日期时间,我们可以使用Python中的datetime模块和timedelta类。下面是完整的攻略: 步骤一:导入模块 首先,我们需要导入Python中的datetime模块: import datetime 步骤二:获取当前日期时间 我们可以使用datetime模块中的datetime类,通过调用其now方法来获取当前日期时间,如下…

    python 2023年6月2日
    00
  • python实现复制文件到指定目录

    需要实现将一个文件复制到指定目录,Python提供了shutil(高级文件操作模块)来完成这个任务。 下面是Python实现复制文件到指定目录的攻略: 1. 导入模块 使用 shutil 模块需要先导入 shutil 模块。 import shutil 2. 复制文件 使用 shutil.copy() 方法对文件进行复制。 shutil.copy(‘sour…

    python 2023年6月5日
    00
  • 解决Python3.8用pip安装turtle-0.0.2出现错误问题

    针对“解决Python3.8用pip安装turtle-0.0.2出现错误问题”的完整攻略,以下是详细说明: 问题描述 在Python 3.8版本中,可能在使用pip安装turtle-0.0.2时会出现以下错误: ERROR: Command errored out with exit status 1: command: ‘path/to/python38/…

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