【发布时间】:2021-07-14 18:46:25
【问题描述】:
我想对我通过 pandas 从 csv 生成的列表进行快速排序。 我想按特定列对其进行排序,例如数字顺序高度。
数据如下所示:
| Number | Name | Height | Width | Weigth |
|---|---|---|---|---|
| 1 | Hatity | 66.23 | 57.28 | 124.87 |
| 2 | Bamity | 22.56 | 843.7 | 123.67 |
| 3 | Asoka | 45.66 | 234.3 | 523.29 |
我已经能够使用此代码按第二列对其进行排序:
def quickSort(list):
if not list:
return list
pivot = list[0]
lesser = quickSort([x for x in list[1:] if x[1] < pivot[1]])
greater = quickSort([x for x in list[1:] if x[1] >= pivot[1]])
return lesser + [pivot] + greater
print(quickSort(product_list))
这适用于按名称排序。但我不知道要更改什么以按任何其他列排序。 如果有人可以帮助我,那就太好了。
【问题讨论】: