Python映射类型之dict详解

yizhihongxing

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自动生成代码 使用tkinter图形化操作并生成代码框架

    以下是Python自动生成代码使用tkinter图形化操作并生成代码框架的完整攻略。 总览 Python自动生成代码可以非常方便地实现快速生成大量代码的工作。使用tkinter图形化操作,可以使代码生成更加友好和高效。下面介绍具体的步骤。 第一步:安装相关工具包 使用Python自动生成代码需要安装pip,以及prompt_toolkit和pygments两…

    python 2023年5月19日
    00
  • Python Selenium Webdriver Wait.Until 显示错误恰好需要 2 个参数 3 给出

    【问题标题】:Python Selenium Webdriver Wait.Until is showing error takes exactly 2 arguments 3 givenPython Selenium Webdriver Wait.Until 显示错误恰好需要 2 个参数 3 给出 【发布时间】:2023-04-04 19:14:01 【问…

    Python开发 2023年4月6日
    00
  • python scipy求解非线性方程的方法(fsolve/root)

    当我们需要求解非线性方程式时,可以用到Python中的Scipy库中的fsolve(或root)函数。以下是求解非线性方程式的攻略: 准备工作 在使用fsolve/root函数前,需要安装Scipy库。可以使用以下命令进行安装: pip install scipy 调用方法 Scipy库中的fsolve(或root)函数,可以解决非线性方程组。它通过提供一个…

    python 2023年6月5日
    00
  • 多线程python的实现及多线程有序性

    多线程Python的实现 在Python中,实现多线程功能有多种方式。我们可以使用Thread类或者使用concurrent.futures模块中的ThreadPoolExecutor类,这里将分别介绍这两种方式。 使用Thread类实现多线程 使用Thread类实现多线程的方式非常简单。下面是一个简单的例子: import threading import…

    python 2023年5月18日
    00
  • 对Python发送带header的http请求方法详解

    在Python中发送带header的HTTP请求是非常常见的任务。本文将介绍如何发送带header的HTTP请求,并提供两个示例。 1. 使用requests库发送带header的HTTP请求 在Python中发送带header的HTTP请求可以使用requests库。requests是一个Python HTTP库,可以轻松发送HTTP请求。以下是一个示例,…

    python 2023年5月15日
    00
  • Python中threading库实现线程锁与释放锁

    当多个线程需要同时访问同一个共享资源时,可能会导致数据不一致或者丢失。为了避免这个问题,就需要使用线程锁来互斥访问共享资源。Python中提供了threading库来实现多线程编程,其中线程锁的实现方式非常简单。 线程锁的基本使用方法 Python中,可以使用threading.Lock()方法来创建线程锁,然后使用acquire()方法来获得锁,使用rel…

    python 2023年5月19日
    00
  • Python 常见的配置文件写法梳理汇总

    使用Markdown格式,以下是Python常见配置文件的写法梳理汇总完整攻略。 Python常见配置文件写法梳理汇总 1. INI 文件 INI 文件是最常用的配置文件之一,它通常被用于Windows操作系统的应用程序中。INI 文件本质上是一个键值对集合,由多个节组成,每个节下面可以有多个键值对。(示例代码见下) ; Python配置文件示例 [data…

    python 2023年6月3日
    00
  • Python基础学习之奇异的GUI对话框

    下面是关于“Python基础学习之奇异的GUI对话框”的完整攻略: 1. GUI对话框的概述 GUI对话框是一种常见的交互方式,用于向用户提示信息或者接收用户输入内容。在Python的GUI编程中,提供了多种不同类型的对话框,包括消息框、文件对话框、颜色选择对话框等。Python的GUI编程主要使用Tkinter库,其中也包含了对话框的实现。 2. Tkin…

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