102.Python——字典和列表排序

liftword2个月前 (03-07)技术文章15

有时我们需要根据字典的键或值进行排序,或者当列表元素是元组时,也需要根据第几个元组的值进行排序。

一、先随机构造一个字典,长度为10,键是随机字符,值是随机整数

import random
#随机生成一个列表,用着字典的值
v=random.sample(range(100),10)

#随机生成一个列表,元素是英文字母,用着字典的键
k=random.sample(list('abcdefghijklmnopqrstuvwxyz'),10)

#两列表合并,元素为字典的键和值
kv=dict(zip(k,v))
print(kv)
#随机输出结果
{'r': 91, 'c': 12, 'z': 62, 'y': 8, 'v': 55, 'a': 25, 'i': 38, 'w': 84, 'd': 57, 'u': 19}

二、按照字典的值进行排序

#按照字典的值进行排序
v_sorted=sorted(kv.items(),key=lambda x:x[1],reverse=True)
print(v_sorted)
#排序结果
[('t', 96), ('q', 95), ('f', 68), ('g', 54), ('r', 39), ('w', 31), ('z', 22), ('d', 16), ('v', 11), ('l', 9)]

三、按照字典的键进行排序

#按照字典的键进行排序
k_sorted=sorted(kv.items(),key=lambda x:x[0])
print(k_sorted)
#排序结果
[('d', 16), ('f', 68), ('g', 54), ('l', 9), ('q', 95), ('r', 39), ('t', 96), ('v', 11), ('w', 31), ('z', 22)]

四、两列表合并,元素为字典的键和值

#字典转列表
lst=list(kv.items())
print(lst)
#转换结果
[('q', 95), ('g', 54), ('d', 16), ('t', 96), ('z', 22), ('w', 31), ('f', 68), ('r', 39), ('l', 9), ('v', 11)]

五、列表排序,根据元组的第2个元素的值

#列表排序,根据字典的值
lst.sort(key=lambda x:x[1],reverse=True)
print(lst)
#输出结果
[('t', 96), ('q', 95), ('f', 68), ('g', 54), ('r', 39), ('w', 31), ('z', 22), ('d', 16), ('v', 11), ('l', 9)]


本文主要演示字典或列表排序的一种方法。

相关文章

python将两个字典进行合并的方法

在 Python 中,可以使用 update() 方法将一个字典合并到另一个字典中,也可以使用运算符 | 或 ** 将两个字典合并为一个新的字典。以下是示例代码,演示了三种不同的方式来合并字典:# 定...

Python 字典合并、求和大作战,轻松搞定各路数据

在使用 Python 采集来自不同渠道的数据,很多都是以字典的形式存储。将它们合并、处理是经常使用的进本操作,在本文中,我们将介绍多种合并和求和字典的方法。合并词典是指涉及将多个词典中的键值对合并到一...

Python 字典(Dictionary):高效数据映射的强大工具

在 Python 中,字典是一种基于键值对(key-value pairs)的数据结构,能够高效地进行数据映射(data mapping)和快速查找(efficient lookup)。字典以无序(u...

一文掌握Python的字典

字典是 Python 中最强大、最灵活的内置数据结构之一。它们允许存储键值对,从而实现高效的数据检索、操作和组织。本文深入探讨了字典,涵盖了它们的创建、操作和高级用法,以帮助中级 Python 开发人...

如何在 Python 中创建一个不可变的字典 - Adam Johnson

Python 的内置集合类型具有可变和不可变两种风格:可变版本:list 不可变版本:tuple可变版本:set 不可变版本:frozenset可变版本:dict 不可变版本:MappingProxy...

python 元组转字典

在 Python 中,可以使用内置函数 zip() 将两个序列合并成一个字典。元组可以看作是不可变的序列,因此可以将元组作为输入序列传递给 zip() 函数,以将其转换为字典。假设我们有两个元组,一个...