python - 在python中将两个数组合并成一个矩阵并排序

标签 python arrays sorting matrix

好吧,这是一个非常简单的问题,我在这里找不到解决方案;

我有两个列表 A 和 B

A=(0,1,2,3,...,N-1)  (N elements)
B=(-50,-30,-10,.....,-45) (N elements)

我想创建一个新结构,类似于具有 2xN 个元素的二维矩阵“C”,这样

C(0)=(0,-50)
C(1)=(1,-30)
...
C(N)=(N-1,-45)

我无法做到这一点,因为我没有看到构建此类矩阵的简单方法。

然后我想得到一个新矩阵“D”,其中所有来自 B 的元素都从最高到最低排序

D(0)=(0,-50)
D(1)=(N-1,-45)
D(2)=(1,-30)
...

我怎样才能做到这一点?

附言一旦我得到“D”,我怎么能像第一个那样将它分成两个字符串 A2 和 B2?这样的

A2=(0,N-1,1,...)
B2=(-50,-45,-30,...)

最佳答案

C = zip(A, B)
D = sorted(C, key=lambda x: x[1])
A2, B2 = zip(*D)

或者全部在一条线上:

A2, B2 = zip(*sorted(zip(A,B), key=lambda x: x[1]))

关于python - 在python中将两个数组合并成一个矩阵并排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6389577/

相关文章:

带有 Aiohttp 的 Python Mock 不是模拟

python - 如何检查 python 可迭代数组中的任何元素是否为 None、空数组或 False(不包括零)?

arrays - Alamofire - 将字符串数组作为参数传递

java - 检查所有数组值是否不同

java - 在不使用 HashMap 的情况下查找排序的 ArrayList 中最常见的字符串

python - 在 Python 3.x 上运行 Python 2.7 项目? (TIA 封装相关问题)

python - 如何将函数中的年月日传递给创建的相关目录?

python - 在每组的范围内插入天数

c# - c# 如何从指定目录中按数字顺序获取文件?

c - 最容易在C中实现在线排序数据结构