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 openpyxl 带格式复制表格的实现

    当使用Python处理Excel表格时,openpyxl库是一个非常常用的工具。它具有强大的读写能力、支持各种Excel表格常见操作等特点。本教程将向大家介绍如何使用Python开发openpyxl库,实现带格式复制表格。 实现前提条件 在开发前,确保你已经安装了Python和openpyxl库。 如果你还没有安装openpyxl库,可以使用以下命令进行安装…

    python 2023年5月14日
    00
  • 一文轻松掌握python语言命名规范规则

    一文轻松掌握Python语言命名规范规则 在使用Python编写代码时,良好的命名规范不仅仅可以让代码更加易读易懂,还能减少错误发生的概率。Python社区提出了一些通用的命名规范,下面是一些基本规则。 1. 变量和函数名命名 命名要具备可读性,避免使用缩写和望文不知义的变量名。 变量名要小写。 函数名要小写,如果是多个单词组成,用下划线(_)分隔。 类名要…

    python 2023年6月5日
    00
  • python GUI库图形界面开发之PyQt5窗口布局控件QStackedWidget详细使用方法

    Python GUI库图形界面开发之PyQt5窗口布局控件QStackedWidget详细使用方法 介绍 在PyQt5窗口布局控件中,QStackedWidget是很常用的一个控件,它主要是用来实现多个Widget在同一个窗口下的切换。 QStackedWidget的基本使用方法 步骤一:导入库 from PyQt5.QtCore import * from…

    python 2023年6月13日
    00
  • 利用Python生成文件md5校验值函数的方法

    当需要验证下载文件的完整性时,可以利用md5校验值进行验证。下面将介绍如何使用Python生成文件md5校验值的函数以及给出两条示例说明。 生成文件md5校验值的函数 Python自带的hashlib模块可以用于生成各种哈希值,其中包括md5校验值。下面是生成文件md5校验值的函数: import hashlib def file_md5(file_path…

    python 2023年6月2日
    00
  • Python入门教程 超详细1小时学会Python

    首先,针对这个题目,我们可以分为以下几个方面进行详细讲解: 教程的概括:Python入门教程 超详细1小时学会Python是一份针对初学者的 Python 教程,通篇由文本和视频解析构成,全文分为12个章节,涵盖了Python基础语法、常见的数据类型、流程控制语句、函数、模块等内容。 学习步骤:在学习此教程之前,首先需要安装Python环境,推荐下载安装Py…

    python 2023年5月13日
    00
  • python垃圾回收机制(GC)原理解析

    Python垃圾回收机制(GC)原理解析 Python是高级编程语言,由于Python有垃圾回收机制(GC),所以我们无需关心变量何时会被销毁。但是,为了更好的理解Python语言,建议你了解Python的垃圾回收机制。下面详细说明Python的垃圾回收机制。 什么是垃圾回收(GC)? 垃圾回收是指实时监控对象在内存中的状态,查找并释放那些不再使用的对象所占…

    python 2023年5月14日
    00
  • 浅析form标签中的GET和POST提交方式区别

    我们来详细讲解一下“浅析form标签中的GET和POST提交方式区别”的攻略。 标题 浅析form标签中的GET和POST提交方式区别 简介 在HTML中,form标签用于定义表单。当用户提交表单数据时,我们可以通过GET和POST两种提交方式将数据发送到服务器。其中,GET方式将数据作为URL的一部分,POST方式则将数据作为HTTP请求的消息体发送。所以…

    python 2023年6月6日
    00
  • python中的文件打开与关闭操作命令介绍

    下面为你详细讲解“Python中的文件打开与关闭操作命令介绍”。 文件打开操作 Python中打开文件的命令是open(),其语法如下: file = open(file_path, mode) 其中,参数file_path为文件路径,可以是相对路径或绝对路径,参数mode为打开文件的模式,常见的模式有: ‘r’:读取模式,打开文件后只能读取文件内容,不能写…

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