Python程序根据给定属性索引排序表格
假设我们有一个包含关于运动员信息的2D列表,这些信息是排名、年龄和身高。每行包含不同运动员的信息。我们还有另一个数字k。我们必须根据第k个属性排序数据。
所以,如果输入如下
排名 | 年龄 | 身高 |
---|---|---|
1 | 25 | 190 |
2 | 35 | 180 |
3 | 33 | 185 |
4 | 26 | 175 |
5 | 35 | 180 |
而k = 1。
那么输出将会是
排名 | 年龄 | 身高 |
---|---|---|
1 | 25 | 190 |
4 | 26 | 175 |
3 | 33 | 185 |
2 | 35 | 180 |
5 | 35 | 180 |
[[1, 25, 190], [4, 26, 175], [3, 33, 185], [2, 35, 180], [5, 35, 180]]
要解决这个问题,我们将按照以下步骤进行-
- 为名为info的2D数组调用sort()函数
-
定义一个函数,基于第k个参数排序,并将其传递给sort()函数的关键参数。
示例
让我们看一下以下实现,以更好地理解
def solve(info, k):
info.sort(key = lambda x: x[k])
return info
info = [[1, 25, 190],[2, 35, 180],[3, 33, 185],[4, 26, 175],[5, 35, 180]]
k = 1
print(solve(info, k))
输入
[[1, 25, 190],[2, 35, 180],[3, 33, 185],[4, 26, 175],[5, 35, 180]], 1
输出
[[1, 25, 190], [4, 26, 175], [3, 33, 185], [2, 35, 180], [5, 35, 180]]
这样,我们已经根据给定属性索引对表进行了排序,输出了排序后的结果。