【发布时间】:2017-07-17 06:04:51
【问题描述】:
希望按列对一组 .csv 数值进行排序。可选地,列数会有所不同。例如使用 Python:
print(sorted(['9,11', '70,10', '10,8,1','10,70']))
生产
['10,70', '10,8,1', '70,10', '9,11']
而想要的结果是
['9,11', '10,8,1', '10,70', '70,10']
首先,按第一列排序,然后按第二列,依此类推。
这显然可以做到,但可以优雅地做到这一点吗?
【问题讨论】:
-
首先,迭代一次,解析字符串并获取第一个数字作为它们的权重。创建一个包含
weight和value等字段的类。迭代时,用这个类创建新变量并用它们生成一个新列表。然后根据它们的权重对这些对象进行排序,最后迭代一次并收集排序后的值。