Python编程语言由原始数据类型(如列表,字典,集合,元组等)组成。它还带有一个collections模块,该模块具有专门的数据结构(如ChainMap,deque等)。由于这些数据类型由函数组成,因此使用起来很容易这使代码高效。排序功能就是python中字典的一种这样的功能。在本文中,我们将讨论如何对字典进行排序。以下是此博客中讨论的概念:
- What Is A Dictionary?
- Various Operations In A Dictionary
- Need Of Sorting A Dictionary
- How To Sort A Dictionary?
什么是字典?
字典是一种集合数据类型,其中包含键值对,就像其他编程语言中的映射一样。
- 字典本质上是可变的,这意味着即使在python中声明字典后也可以进行更改。
- 它是无序的,并且只允许在值中重复输入,因为键必须是不同的。
- 使用键作为字典中的索引来访问这些值。
- 字典在大括号中声明。
mydictionary = { 'key1' : 'value 1' , 'key2' : 'value 2' , 'key3' : 'value 3'}
print(mydictionary)
输出: {'key1':'value 1','key2':'value 2','key3':'value 3'}
词典中的各种操作
以下是我们可以在python中对字典执行的操作。
- clear
- copy
- fromkeys
- get
- items
- keys
- popitem
- pop
- setdefault
- update
- values
需要对字典进行排序
- 字典的搜索时间复杂度为O(1),而列表的搜索时间复杂度为O(n),这使字典在必要时成为可行的选择。
- 排序的字典在处理操作时会产生更好的理解和清晰度。
- 排序有助于在处理任何数据结构时进行有效的分析。
如何对字典进行排序?
- 按键排序
- 按值排序
- 自定义排序算法–字符串,数字
- 倒序排序
按键排序
我们可以使用内置的排序函数,该函数将进行任何迭代并返回一个排序列表。我们可以使用键来获得升序排序的字典。
a = {1:2 ,2:1 ,4:3 ,3:4 ,6:5 ,5:6 }
#this will print a sorted list of the keys
print(sorted(a.keys()))
#this will print the sorted list with items.
print(sorted(a.items()))
输出: [1,2,3,4,5,6] [(1,2),(2,1),(3,4),(4,3),(5,6),(6,5 )]
按值排序
就像键一样,我们也可以使用这些值。
a = {1:2 ,2:1 ,4:3 ,3:4 ,6:5 ,5:6 }
print(sorted.values()))
#this will print a sorted list of values.
输出: [1,2,3,4,5,6]
自定义排序算法–字符串,数字
要执行更复杂的排序,我们可以在sorted方法中使用其他参数。
day = { 'one' : 'Monday' , 'two' : 'Tuesday' , 'three' : 'Wednesday' , 'four' : 'Thursday' , 'five': 'Friday' , 'six' : 'Saturday' , 'seven': 'Sunday'}
print(day)
number = { 'one' : 1 , 'two' : 2 , 'three' : 3 , 'four' : 4 , 'five' : 5 , 'six' : 6 , 'seven' : 7}
print(sorted(day , key=number.__getitem__))
print([day[i] for i in sorted(day , key=number.__getitem__)])
输出: {“一个”:“星期一”,“两个”:“星期二”,“三个”:“星期三”,“四个”:“星期四”,“五个”:“星期五”,“六个”:“星期六” ,“七”:“周日”} [“一个”,“两个”,“三个”,“四个”,“五个”,“六个”,“七个”] [“星期一”,“星期二”,“星期三” ,“星期四”,“星期五”,“星期六”,“星期日”]
通过使用其他参数,我们可以使用字符串和数字以最佳方式对字典进行排序。我们也可以颠倒顺序,下面是一个示例,可以颠倒排序后的字典的顺序。
倒序排序
我们可以颠倒排序字典的顺序。以下是反转排序字典顺序的示例。
a = {1:2 ,2:1 ,4:3 ,3:4 ,6:5 ,5:6 }
print(sorted(a.values() , reverse= True))
输出: [6,5,4,3,2,1]
在此博客中,我们讨论了如何在python中对字典进行排序。字典可以是处理涉及键值对的数据的一种优化方式。由于字典本质上是可变的,并且搜索时间的复杂度比列表小,因此使用字典变得更加容易。
python中的数据类型是一个重要的基本概念,它使python与众不同。易于访问并提高了可读性,它有助于其他python应用程序,例如分析和数据科学。要掌握python