【问题标题】:Where can I put `reverse=true` to reverse sorting order? [duplicate]我在哪里可以将 `reverse=true` 设置为反向排序? [复制]
【发布时间】:2016-03-04 15:53:25
【问题描述】:

我的老师告诉我输入reverse = True 以使其从高到低排序,但我真的不知道在哪里。我的代码如下所示。

import csv

f = open ('sort.txt')
csv_f = csv.reader(f)
newlist = []
for row in csv_f:
    row[1] = int(row[1])
    row[2] = int(row[2])
    row[3] = int(row[3])

    sort = sorted(row[1:4])
    row.append(sort)
    newlist.append(row[0:8])
print(newlist)

谁能告诉我我会把reverse = True放在哪里,让它打印出从高到低的分数?

【问题讨论】:

  • 顺便说一句,使用sort 作为变量名不是一个好主意,因为这会影响内置的sort 函数。此外,通常的 Python 约定是每个缩进级别使用 4 个空格。
  • @PM2Ring:Python 中没有内置的sort 函数。 sort 仅作为某些对象的方法存在。然而,描述列表内容的名称并不好。

标签: python


【解决方案1】:

你可以这样做:

sort = sorted(row[1:4], reverse=True)

【讨论】:

  • @anomoyus:我希望你努力理解为什么会这样。只是模仿网上的代码并不能帮助你学习。
【解决方案2】:

sorted() 是 Python 中的内置函数。它有可选的关键字参数“key”和“reverse”。您的讲师指的是应用关键字参数作为 sorted() 函数的输入。查看更多关于可选参数here

正如您从文档中看到的那样,为 reverse 传入一个值遵循以下行为:

reverse 是一个布尔值。如果设置为 True,则对列表元素进行排序,就好像每次比较都颠倒了一样。

PS:正如 PM 2Ring 所提到的,我不鼓励您使用“排序”作为变量名,因为它是列表类型的内置方法。您可以在样式指南中阅读有关 naming specifications 的更多信息。

【讨论】:

    猜你喜欢
    • 2019-09-17
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-22
    • 1970-01-01
    • 1970-01-01
    • 2013-09-08
    相关资源
    最近更新 更多