【发布时间】:2020-05-26 11:18:24
【问题描述】:
我需要知道如何在 python 中对列表元素进行排序而不改变它们的位置。
a = [[5, 4, 5], [4, 5, 6], [2, 8, 2], [5, 2, 2]]
b = [[3, 2, 4], [3, 6, 7], [3, 6, 0], [7, 2, 1]]
c = [[x + y for x, y in zip(s1, s2)] for s1, s2 in zip(a, b)]
c.sort(key=lambda x: x[1])
c.reverse()
for c in c:
print(c)
我尝试使用 lambda,但它按第一个数字对它们进行排序,从而改变了顺序。 我需要对数组 c 进行排序,使其看起来像这样:
Input: c = [[5, 4, 5], [4, 5, 6], [2, 8, 2], [5, 2, 2]]
Output: c = [[4, 5, 5], [4, 5, 6], [2, 2, 8], [2, 2, 5]]
我希望我说得足够清楚,感谢任何帮助
【问题讨论】: