|
|
1
243
从Python3.6开始,标准
定义
将生成一个字典,其中的键按源代码中列出的顺序排列。 这是通过为稀疏哈希表使用一个带有整数的简单数组来实现的,其中这些整数索引到另一个存储键值对(加上计算的哈希)的数组中。后一个数组恰好按插入顺序存储这些项,而整个组合实际使用的内存比Python3.5及之前版本中使用的内存要少。见 original idea post by Raymond Hettinger 了解详情。 在3.6中,这仍然被认为是一个实现细节;参见 What's New in Python 3.6 documentation :
Python3.7将此实现细节提升为
语言规范
您可能仍然需要使用
|
|
|
2
176
包含
|
|
|
3
168
|
|
4
39
注意,这个答案适用于python3.7之前的python版本。cpython3.6在大多数情况下维护插入顺序作为实现细节。从Python3.7开始,已经声明实现必须保持插入顺序才能兼容。 python字典是无序的。如果你想要一本有序的词典,试试看 collections.OrderedDict 请注意,OrderedDict是在Python2.7的标准库中引入的。如果您有一个旧版本的python,您可以在 ActiveState |
|
|
5
13
字典将使用一个使搜索更有效的顺序,而你不能改变它, 您可以只使用一个对象列表(简单情况下是一个2元素元组,甚至是一个类),并在末尾附加项。然后可以使用线性搜索在其中查找项目。 或者,您可以创建或使用不同的数据结构,以维护秩序。 |
|
|
6
7
我在试图弄清楚如何让信息技术正常工作的时候看到了这篇文章。用于Eclipse的PyDev根本找不到OrderedDict,所以我决定按照我希望的顺序对字典的键值进行一个元组。当我需要输出我的列表时,我只需遍历元组的值,并将迭代后的“key”从元组插入字典中,以按需要的顺序检索值。 例子:
注意:其他人建议的列表列表方法对我来说并不真正有意义,因为列表是有序的和索引的(而且与字典也是不同的结构)。 |
|
|
7
6
你真的不能用字典做你想做的事。你已经有字典了
然后使用:
去验证。 |
|
|
8
4
|
|
|
10
1
|
|
|
11
1
如果希望字典按特定顺序排列,还可以创建列表列表,其中第一项是键,第二项是值 看起来像这样
|
|
|
12
1
我在开发Django项目时也遇到了类似的问题。我不能使用OrderedDict,因为我运行的是python的旧版本,所以解决方案是使用Django的SortedDict类: https://code.djangoproject.com/wiki/SortedDict 例如。,
|
|
|
13
0
你可以做我为字典做的同样的事。 创建列表和空字典:
|
|
|
Vasu Mistry · 如何用字符串值解析yaml文件 4 年前 |
|
|
kopew · 索引器:列表索引超出api的范围 4 年前 |
|
|
Atefeh Hedayati · 如何使用矩阵乘法简化循环? 4 年前 |
|
|
wayoh22 · 检查部分值和返回全部值的列表 4 年前 |
|
|
arwind mohan kmm · Python中的图像拆分器 4 年前 |
|
|
Cranjis · 网址。解析Python2。7相当于 8 年前 |