Python映射类型之dict详解

Python映射类型之dict详解

简介

dict是Python内置的一种映射类型,也叫字典,是一个键值对的无序集合。这里的“键”必须是唯一的。

定义和初始化

定义一个空的字典:

d = {}

初始化一个字典:

d = {'name': '张三', 'age': 20}

也可以使用dict()函数初始化:

d = dict(name='张三', age=20)

访问字典中的元素

可以通过键值访问字典中的元素:

d = {'name': '张三', 'age': 20}
print(d['name'])  # 输出:张三

如果键名不存在则会报错,可以通过get()方法避免报错:

d = {'name': '张三', 'age': 20}
print(d.get('gender'))  # 输出:None

还可以使用in操作符判断键名是否在字典中:

d = {'name': '张三', 'age': 20}
print('name' in d)  # 输出:True
print('gender' in d)  # 输出:False

修改和添加字典中的元素

可以通过键名修改字典中的元素:

d = {'name': '张三', 'age': 20}
d['age'] = 21
print(d)  # 输出:{'name': '张三', 'age': 21}

如果键名不存在,则添加一个新的键值对:

d = {'name': '张三', 'age': 20}
d['gender'] = '男'
print(d)  # 输出:{'name': '张三', 'age': 20, 'gender': '男'}

删除字典中的元素

使用del语句可以删除字典中的元素:

d = {'name': '张三', 'age': 20}
del d['name']
print(d)  # 输出:{'age': 20}

字典的常用方法

以下是一些Python字典常用的方法:

  • keys()方法返回所有的键名:

    python
    d = {'name': '张三', 'age': 20}
    print(d.keys()) # 输出:dict_keys(['name', 'age'])

  • values()方法返回所有的值:

    python
    d = {'name': '张三', 'age': 20}
    print(d.values()) # 输出:dict_values(['张三', 20])

  • items()方法返回所有的键值对:

    python
    d = {'name': '张三', 'age': 20}
    print(d.items()) # 输出:dict_items([('name', '张三'), ('age', 20)])

示例说明

示例一

# 统计字符出现的次数
s = "hello world"
d = {}
for c in s:
    if c in d:
        d[c] += 1
    else:
        d[c] = 1
print(d)  # 输出:{'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w': 1, 'r': 1, 'd': 1}

示例二

# 列表去重
a = [1, 2, 3, 2, 1]
d = {}
for x in a:
    d[x] = True
print(list(d.keys()))  # 输出:[1, 2, 3]

以上是Python映射类型之dict的详细攻略,包括定义和初始化、访问字典中的元素、修改和添加字典中的元素、删除字典中的元素和常用方法等内容。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python映射类型之dict详解 - Python技术站

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

相关文章

  • Python对list列表结构中的值进行去重的方法总结

    以下是“Python对list列表结构中的值进行去重的方法总结”的完整攻略。 1. 使用set()函数 在Python中,我们可以使用set()函数对列表中的元素进行去重。set()函数会将的元素转换为一个集合,集合中的元素是唯一的,不会重复。以下是set()函数的语法: set(iterable) 其中,iterable是要进行去重的可迭代对象,例如列表、…

    python 2023年5月13日
    00
  • python [:3] 实现提取数组中的数

    要实现提取数组中的数,我们可以使用Python中的切片(Slice)操作。切片可以用于对Python中的列表(List)、元组(Tuple)和字符串(String)等序列对象进行切片操作。它的语法基本形式是: Slice[start:end:step] 其中,Slice是需要进行切片的序列对象,start为开始切片的位置(默认为0),end为结束切片的位置(…

    python 2023年6月5日
    00
  • python自然语言处理之字典树知识总结

    Python自然语言处理之字典树知识总结 什么是字典树 字典树(Trie树)是一种哈希树的变种,也称为单词查找树或键树。字典树是一棵树,每个节点包含若干字符,而不是单个字符。在实现自然语言处理中,字典树常用来处理字符串匹配、拼写检查、词频统计等任务。 字典树的优势在于它可以在$O(k)$的时间复杂度($k$为字符串长度)内完成字符串的查找操作,而且还可以较方…

    python 2023年5月13日
    00
  • python3爬虫中异步协程的用法

    在Python3爬虫中,异步协程是一种高效的方式来处理并发请求和I/O操作。本文将详细讲解Python3爬虫中异步协程的用法,包括使用asyncio库和aiohttp库两个示例。 使用asyncio库实现异步协程的示例 以下是一个示例,演示如何使用asyncio库实现异步协程: import asyncio async def fetch(url): asy…

    python 2023年5月15日
    00
  • python json-rpc 规范源码阅读

    下面是“Python json-rpc 规范源码阅读”的完整攻略。 1. 了解 json-rpc 规范 在开始源码阅读之前,需要先了解 json-rpc 规范,这是一种基于 JSON 的远程调用协议。它使用 JSON 格式来传输数据,使用 HTTP 协议进行通信。通过 json-rpc 规范,客户端可以向服务器发送请求,服务器可以处理这些请求并返回响应。 j…

    python 2023年6月3日
    00
  • python排序算法之选择排序

    以下是关于“Python排序算法之选择排序”的完整攻略: 简介 选择排序是一种简单的排序算法,它的基本思想是每次从未排序的元素中选择最小的元素,将其放到已排序的元素末尾。在本教程中,我们将介绍如何使用Python实现选择排序,并提供一些示例说明。 Python选择排序实现 以下是使用Python实现选择排序的示例: def selection_sort(ar…

    python 2023年5月14日
    00
  • python数字类型和占位符详情

    Python 是一门强大的编程语言,支持许多数字类型,例如整数、浮点数、分数等。本文将详细讲解 Python 的数字类型以及占位符的使用,希望能给大家带来帮助。 Python 数字类型 整数 Python 支持整数类型,表示整数值。整数支持基本的加减乘除等运算,以及取余数和求幂等操作。 num = 5 print(2 + num) # 输出:7 print(…

    python 2023年6月3日
    00
  • python 动态获取当前运行的类名和函数名的方法

    获取当前运行的类名和函数名是Python中常用的操作,可以方便地用于调试、日志记录等场景。以下是Python动态获取当前运行的类名和函数名的方法的完整攻略: 获取当前运行函数名的方法 有两种方法可以获取当前运行的函数名。 方法一:通过__name__属性获取 Python中每个函数都有一个特殊的属性__name__,保存了函数的名称。可以使用该属性获取当前运…

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