迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

在 Python 中按另一个列表对列表进行排序

作者:迹忆客 最近更新:2023/12/17 浏览次数:

通常,当我们对列表进行排序时,我们会按升序或降序进行排序。但是,我们可以根据 Python 中另一个列表的顺序对列表进行排序。

我们将学习如何根据本文中另一个列表中的值对给定列表进行排序。


使用 zip()sorted() 函数根据 Python 中的另一个列表对列表进行排序

在这个方法中,我们将使用 zip() 函数通过组合两个给定的列表来创建第三个对象,第一个必须排序,第二个依赖于排序。

然后我们可以使用 sorted() 函数,它从排序和压缩的列表中提取每对给定列表的第一个元素。

A = ["r", "s", "t", "u", "v", "w", "x", "y", "z"]
B = [0, 1, 1, 0, 1, 2, 2, 0, 1]
result_list = [i for _, i in sorted(zip(B, A))]
print(result_list)

输出:

['r', 'u', 'y', 's', 't', 'v', 'z', 'w', 'x']

使用 NumPy 模块根据 Python 中的另一个列表对列表进行排序

在这种方法中,我们将列表转换为 NumPy 数组,然后将排序算法应用于列表。我们使用 argsort() 函数对排序所依赖的数组进行排序,然后使用这些值来过滤第二个数组。

请参考以下示例。

import numpy

A = ["r", "s", "t", "u", "v", "w", "x", "y", "z"]
B = [0, 1, 1, 0, 1, 2, 2, 0, 1]

A = numpy.array(A)
B = numpy.array(B)
inds = B.argsort()
sorted_a = A[B]
print(sorted_a)

输出:

['r' 's' 's' 'r' 's' 't' 't' 'r' 's']

要获取列表中的最终数据,请使用 tolist() 函数。


使用 more_itertools.sort_together 根据 Python 中的另一个列表对列表进行排序

more_itertools 模块是对 itertools 模块的扩展。sort_together 函数返回排序在一起的输入可迭代对象,将 key_list 参数中的列表作为排序的优先级。

例如,

from more_itertools import sort_together

X = ["r", "s", "t", "u", "v", "w", "x", "y", "z"]
Y = [0, 1, 1, 0, 1, 2, 2, 0, 1]
s = sort_together([Y, X])[1]
print(list(s))

输出:

['r', 'u', 'y', 's', 't', 'v', 'z', 'w', 'x']

我们需要使用 list() 函数以列表形式获取最终结果。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 Python 中查找列表中的最大值

发布时间:2023/12/18 浏览次数:192 分类:Python

它演示了如何在 Python 中寻找列表中的最大值。本教程将涵盖一些场景和数据类型,从简单的整数列表到更复杂的结构,如数组中的数组。

用 Python 将两个列表转换为字典

发布时间:2023/12/18 浏览次数:91 分类:Python

它演示了如何在 Python 中把列表转换成字典。本教程将介绍如何在 Python 中把两个列表转换为字典,其中一个列表包含字典的键,另一个包含值。

在 Python 中查找列表中的字符串

发布时间:2023/12/18 浏览次数:110 分类:Python

本教程演示了如何在 Python 中查找具有特定子字符串的元素。我们将使用下面的列表并提取其中有 ack 的字符串。my_list = ["Jack", "Mack", "Jay", "Mark"]

用 Python 将两个列表相乘

发布时间:2023/12/18 浏览次数:137 分类:Python

本教程演示了如何在 Python 中对两个列表进行乘法。本教程将演示在 Python 中执行两个列表元素相乘的各种方法。

用 Python 查找列表中元素的所有索引

发布时间:2023/12/18 浏览次数:89 分类:Python

本教程演示了如何在 Python 中查找列表中某个元素的所有出现位置的索引在 Python 中,列表用于在一个名称下存储多个元素。每个元素可以通过它在列表中的位置来访问。

Python 中按字母顺序对列表进行排序

发布时间:2023/12/18 浏览次数:87 分类:Python

本教程演示了如何在 Python 中按字母顺序对一个列表进行排序。在本教程中,我们将讨论如何使用 sort() 和 sorted() 函数对包含字符串的列表按字母顺序排序,并使用快速排序算法。

在Python中获取列表形状

发布时间:2023/12/18 浏览次数:133 分类:Python

本文探讨了在Python中确定列表形状的方法,涵盖了一维、嵌套和多维列表,以及处理不规则嵌套列表。在Python中,了解列表的形状对于处理数据结构非常重要,特别是涉及多维或嵌套列表的情况

在 Python 中追加元素到到列表的前面

发布时间:2023/12/18 浏览次数:196 分类:Python

它演示了如何在 Python 中把元素追加到列表的前面。在整个教程中,我们将使用一个整数列表作为例子,以关注列表插入,而不是插入各种数据类型

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便