Python中很长用的数据结构是dict,在使用的过程中总会遇到这样的问题:你想有序的遍历一个dict
需求一,无序遍历dict中的内容,实现方式如下:
1
#
!/
usr
/
local
/
bin
/
python
2
MAP_TEST
=
{
3
'
a
'
:
'
aa
'
,
4
'
b
'
:
'
bb
'
,
5
'
c
'
:
'
cc
'
,
6
'
d
'
:
'
dd
'
,
7
}
8
def main():
9
for
i in MAP_TEST.keys():
10
print i
+
"
:
"
+
MAP_TEST[i]
11
12
if
__name__
==
'
__main__
'
:
13
main()
14
需求二,有序遍历dict中的内容,但dict是无序的,所以要实现只能用list过渡
1
#
!/
usr
/
local
/
bin
/
python
2
MAP_TEST
=
{
3
'
a
'
:
'
aa
'
,
4
'
b
'
:
'
bb
'
,
5
'
c
'
:
'
cc
'
,
6
'
d
'
:
'
dd
'
,
7
}
8
def main():
9
items
=
MAP_TEST.keys()
10
items.sort();
11
for
i in items:
12
print i
+
"
:
"
+
MAP_TEST[i]
13
14
if
__name__
==
'
__main__
'
:
15
main()
16
17
18
需求三,按照自定义的顺序排列,实现如下,在sortfunc中实现你自己的排序方法
本例实现了倒序排列
1
#
!/
usr
/
local
/
bin
/
python
2
MAP_TEST
=
{
3
'
a
'
:
'
aa
'
,
4
'
b
'
:
'
bb
'
,
5
'
c
'
:
'
cc
'
,
6
'
d
'
:
'
dd
'
,
7
}
8
def sortfunc(x,y):
9
return
cmp(y,x);
10
11
def main():
12
items
=
MAP_TEST.keys()
13
items.sort(sortfunc);
14
for
i in items:
15
print i
+
"
:
"
+
MAP_TEST[i]
16
17
if
__name__
==
'
__main__
'
:
18
main()
19
20
说明:
在不通过版本的python中dict的默认顺序是不同的,编码时,特别是修改或者二次开发的时候,
应注意这个情况。可能会造成bug
例如一下四个字段,在1.5 2.2.3 2.4.3中排序不同,分别如下
1.5:
edifact
flat-encoded
vessel
flat-decoded
2.2.3:
flat-decoded
vessel
flat-encoded
edifact
Python 2.4.3
edifact
flat-decoded
flat-encoded
vessel
分享到:
相关推荐
SortedList是Python中的一个有序列表,它扩展了Python的内置list类型,提供了额外的排序功能。SortedList会自动保持其元素的排序状态,无论是插入新元素还是删除现有元素,它都会立即进行调整。这在需要频繁地对列表...
在Python中,标准`dict`的键是无序的,但`SortedDict`的键则按照插入顺序或自定义比较函数进行排序。这在需要查看或遍历字典时按特定顺序进行时非常有用。`SortedDict`同样支持标准字典的所有操作,如`keys()`, `...
本文将深入探讨Python中遍历字典的方法,以帮助您更好地理解和应用这一关键概念。 在Python中,字典由键值对组成,键是唯一的,而值可以重复。遍历字典通常涉及两种主要方式:遍历键和遍历键值对。以下是对这两种...
通过本课程的学习,你将掌握如何在不同Python版本中创建和操作有序字典,以及在实际编程中如何选择合适的数据结构来保持字典的顺序。无论是为了代码的可预测性还是优化性能,理解并熟练运用这些技巧都将对你的Python...
在这个例子中,`sorted(my_dict.keys())`返回一个按照键排序的列表,然后我们遍历这个列表,打印出键和对应的值。值得注意的是,`sorted(my_dict)`同样有效,因为它会返回一个按照键排序的键列表。 如果你想得到一...
Python标准字典是无序的,但ldict可以保持插入顺序或者根据键或值进行排序,这在需要保持字典顺序的场景下非常有用,比如生成有序的JSON输出。 ldict还提供了一些独特的功能,如链式操作和分片操作。链式操作允许你...
在Python中,字典的键是唯一的,而排序通常指的是对这些键进行排序。我们可以直接使用`sorted()`函数结合字典的`keys()`方法来实现这一目标。以下是一个基本示例: ```python d = {'apple': 3, 'banana': 1, '...
输出语句是 Python 中的一种基本语句,用于输出结果。输出语句包括 print() 函数和 input() 函数。print() 函数用于输出结果,input() 函数用于输入数据。 二、基本变量类型 2.1 字符串 字符串是 Python 中的一种...
在Python编程语言中,字典(dict)是一种非常重要的数据结构,它以键值对的形式存储数据,其中每个键(key)唯一对应一个值(value)。由于字典本身是无序的,这意味着我们不能直接通过索引来访问或排序字典中的元素...
在Python中,对类似的JSON对象列表进行排序可以使用`sorted()`函数配合自定义的比较函数,如下所示: ```python arr2 = [ {"name": "kitty", "age": 12}, {"name": "sonny", "age": 9}, {"name": "jake", "age":...
Python 提供了多种数据类型转换函数,例如 int()、float()、str()、tuple()、list()、set()、dict() 等。 列表 列表是 Python 中最常用的数据结构之一。列表可以存储多种类型的数据,包括数字、字符串、列表等。...
在Python的标准库中,虽然有`sorted()`函数和`list.sort()`方法可以对列表进行排序,但`sortedcollections`库提供了更高效且方便的数据结构,如SortedDict、SortedList和SortedSet,它们在内部保持元素的排序状态,...
另外,Python 3.7及以上版本中的字典已经保持了插入顺序,虽然在Python 3.6中已经通过CPython的实现实现了这一特性,但在使用时仍需注意Python版本和字典的特性,以便正确地进行排序操作。 总之,掌握Python字典的...
此外,Python的`dict`类还有一个`update()`方法,它允许合并两个字典,并保持合并后的字典有序(在Python 3.7+中)。 在实际应用中,字典序的概念可能涉及到序列化(如JSON或pickle),因为这些格式通常要求键的...
在 Python 中,sorted 函数可以用来对列表进行排序,并且可以使用 key 参数来指定排序的关键字。 23. 已知列表对象 x = ['11', '2', '3'],则表达式 max(x) 的值为 '3'。 在 Python 中,max 函数可以用来获取列表...
在Python3中,List和Dict是两种非常重要的数据结构,它们在编程中有着广泛的应用。List是有序的集合,可以存储任意类型的元素;而Dict则是无序的键值对集合,通过键来访问对应的值。 **List的基本操作** 1. **定义...
在Python编程语言中,字典(Dictionary)是一种无序的数据结构,它以键值对的形式存储数据。然而,有时我们可能需要对字典按照值(value)进行排序,以便进行数据分析或展示。本文将详细介绍三种不同的方法来实现这...
2. **JSON数组**(值的有序集合):对应Python中的**列表**。 3. **JSON字符串**:对应Python中的**字符串**。 4. **JSON数字**(整数或浮点数):对应Python中的**int**或**float**。 5. **JSON布尔值**:对应...