Python3.6 之后字典是有序的?

yizhihongxing

在Python 3.6版本中,字典是有序的。这一改变是通过PEP 468提出,由Raymond Hettinger和其他Python核心开发人员实现的,并在Python 3.6中发布。 在此之前,字典一直被认为是无序的。

下面是一些具体信息和示例,以帮助理解这一改变:

  1. 字典是有序的,但仍然具有与以前版本相同的语法和行为,仅是后台实现的改变。

  2. 当使用Python 3.6或更高版本时,您可以使用常规操作对字典进行排序。例如,使用内置函数sorted(),可以按键值对对字典进行排序:

>>>d = {"cat": 3, "dog": 2, "bird": 1}
>>>print(sorted(d.items()))
[('bird', 1), ('cat', 3), ('dog', 2)]
  1. 另一个示例是使用 dict()构造函数以与原始键值对不同的顺序生成字典:
>>>new_dict = dict([('one', 1), ('two', 2), ('three', 3)])
>>>print(new_dict)
{'one': 1, 'two': 2, 'three': 3}
  1. 在for循环中,Python 3.6及更高版本支持按插入顺序遍历字典。以前的版本此时是不支持的:
>>> age = {'Jim': 25, 'Bob': 17, 'Mary': 20}
>>> for key, value in age.items():
...     print(key, value)
...
Jim 25
Bob 17
Mary 20

综上所述, Python3.6之后的字典是有序的,由于其实现的改变,现在可以按照插入顺序对其进行排序、遍历等操作。这一改变,大大促进了Python的编程效率及其适应性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python3.6 之后字典是有序的? - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • pytorch 实现L2和L1正则化regularization的操作

    以下是pytorch实现L2和L1正则化regularization的操作的完整攻略: L2正则化 L2正则化是一种常用的正则化方法,用于防止模型过拟合。在pytorch中,可以使用weight_decay参数来实现L2正则化。以下是一个示例代码: import torch import torch.nn as nn import torch.optim a…

    python 2023年5月14日
    00
  • Python中使用Frozenset对象的案例详解

    标题: Python中使用Frozenset对象的案例详解 简介 在 Python 中,Frozenset 对象是一种不可变集合。与可变集合相比,Frozenset 对象的一个主要优点是可以用作其他集合类型的键,例如字典。 创建 Frozenset 对象 使用 frozenset() 函数可以创建一个新的 Frozenset 对象。Frozenset 对象可…

    python 2023年5月14日
    00
  • Python Opencv提取图片中某种颜色组成的图形的方法

    下面是针对“Python Opencv提取图片中某种颜色组成的图形的方法”的完整攻略: 准备工作 首先需要安装OpenCV库,可以使用以下命令进行安装: pip install opencv-python 在Python代码中,需要用到以下几个包: import cv2 import numpy as np 方法一:利用颜色空间转换 将图像转换为HSV颜色空…

    python 2023年5月18日
    00
  • python实现简单的聊天小程序

    下面是”python实现简单的聊天小程序”的完整攻略: 介绍 聊天小程序是一种允许用户实时交流的应用程序。Python是一种流行的编程语言,有许多库可以用来创建聊天小程序。在这份教程中,我们将介绍如何使用Python创建一个简单的聊天小程序。 步骤 1. 安装必要的库 使用Python创建聊天程序,需要使用socket, threading和tkinter库…

    python 2023年5月19日
    00
  • Python SQL查询并生成json文件操作示例

    下面我为您详细讲解一下如何在 Python 中进行 SQL 查询并将结果生成为 JSON 文件的操作示例。 环境准备 首先,我们需要安装一些必要的模块,如 pymysql 和 json。可通过运行以下命令进行安装: pip install pymysql pip install json 连接数据库 连接数据库通常需要填写数据库地址、用户名、密码和库名等信息…

    python 2023年6月3日
    00
  • Python DNS查询放大攻击实现原理解析

    当攻击者利用某些手段让 DNS Resolver 执行了错误的 DNS 解析时,就会导致 DNS 查询放大攻击。攻击者通过伪造源 IP 和恶意构造查询报文,欺骗 DNS Resolver 向被攻击的服务器发送大量查询请求,导致被攻击服务器带宽资源不足。 攻击者通常会使用无保护的 DNS Resolver 来进行攻击,这样就可以控制 DNS Resolver …

    python 2023年6月2日
    00
  • 在 Python 中解码 unicode 字符串变量

    【问题标题】:decoding unicode string variables in Python在 Python 中解码 unicode 字符串变量 【发布时间】:2023-04-06 12:11:01 【问题描述】: 我正在使用 Python v2.7 中的 API 来获取字符串,其内容未知。内容可以是英语、德语或法语。分配给返回字符串的变量名称是“类…

    Python开发 2023年4月6日
    00
  • 如何使用Python使用ORM操作MySQL数据库?

    以下是如何使用Python使用ORM操作MySQL数据库的完整使用攻略,包括安装ORM框架、连接数据库、创建模型类、执行CRUD操作等步骤。同时,提供两个示例以便更好理解如何使用Python使用ORM操作MySQL数据库。 步骤1:安装ORM框架 在Python中,我们可以使用ORM框架来操作MySQL数据库。常用的ORM框架有SQLAlchemy、Djan…

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