首页 > 解决方案 > 试图在python中按1个变量对整个表进行排序

问题描述

希望有人可以帮助我解决我目前正在解决的问题。

我使用以下代码将多个数组打印到垂直表中:

        for i, j, k, h, l, m in zip(wAarray, wBarray, rParray, vpArray,sharpeArray, utilityArray):
            print('{0:<1,.4f}{1:>20,.4f}{2:>30,.4f}{3:>40,.4f}{4:>45,.4f}{5:>50,.4f}'.format(i, j, k,h, l,m))

如果我需要使用 rParray 中的值按降序对整个表格进行排序,同时保持表格以当前方式打印,我将如何执行此操作?

谢谢

标签: pythonlistsorting

解决方案


您可以使用排序功能。它具有关键字参数key,您可以提供一个将迭代作为唯一参数的lambda函数。因为 fromrParray的值是元组中的第三个值,所以您返回 x[2] 作为键。

for i, j, k, h, l, m in sorted(zip(..., rParray, ...), key=lambda x: x[2]):
    print(...)

推荐阅读