为什么我的排序功能不能正常工作?(Python)

时间:2019-10-09 20:11:17

标签: python

我的代码都可以正常工作,并且列表可以工作,但是由于某种原因,当我尝试对列表进行排序时,列表不是按升序排序,而是随机排序,因此当列表更改时,列表没有降序。当我尝试x.sort(reverse = True)时,弹出错误消息,提示它不能为整数形式。 谁能帮我?

import play.api.Configuration
.... other imports ...

class MyActor() extends Actor {
 val config = new Configuration(ConfigFactory.load("application.conf"))
 println(config.get[String]("akka_actor_custom_dispatcher"))
 println(config.get[String]("akka_actor_custom_dispatcher")) // w/o optional
 println(config.getOptional[Int]("value_1").getOrElse(2))    // with optional 
 .....
 }

2 个答案:

答案 0 :(得分:3)

您的元素是字符串(类型str),而不是整数(类型int)。您的代码当前似乎按字母顺序排序。

尝试在排序之前将元素转换为int。在代码中更改这些行:

int(scores2)
List.append(scores2)

对此:

List.append(int(scores2))

一行上的语句int(scores2)并没有任何用处,您必须使用int()的输出。

答案 1 :(得分:2)

这不是对数字进行排序,而是对字符串进行排序。作为字符串,它们被排序。

您可以通过更改此行来解决

        int(scores2)

对此。

        scores2 = int(scores2)

现在,您正在将值转换为整数,但实际上并未在任何地方使用该整数。我认为这就是混乱的根源。