我已经对csv文件进行了排序,并将其转换为列表列表。我现在需要根据特定索引对列表进行排序。
以下代码块有效:
def highestPoint(copiedList):
copiedList.sort(key=lambda x: x[2], reverse=True)
date = copiedList[0][0]
value = float(copiedList[0][2])
print("\nThe day where the stock reached its highest point is",
date, "with" " a value of {:,.2f}".format(value))
现在,我假设我可以复制并粘贴这段代码,替换两个位置中的[2]
,以便对列表进行排序并打印结果。
显然,print语句中的单词和过程的名称都会更改,但其他所有内容都是相同的。
我们有样本输出,我的答案也不一样。第一个代码有效,但其他代码没有。
每个代码块都是自己的过程,每次都传递copiedList
。 copiedList
只是原始dataList
的浅表副本。
答案 0 :(得分:0)
我认为当您在文件中读取时没有将str转换为float,因此sort函数可能无效。
例如:
print('10' > '5')
False
我建议您将数字转换为浮点数而不是排序
当您按字母顺序对字符串进行排序时,它将如下所示:
numString = ["1","5000","3","6","30","4","2","200"]
print(sorted(numString))
['1', '2', '200', '3', '30', '4', '5000', '6']