为了账号安全,请及时绑定邮箱和手机立即绑定

sorted排序问题

class Student(object):


    def __init__(self, name, score):

        self.name = name

        self.score = score

        

    def __str__(self):

            return '(%s: %s)' % (self.name, self.score)

    __repr__ = __str__


L = [Student('Tim', 99), Student('Bob', 88), Student('Alice', 99)]

print sorted(L)

print sorted(L,key=lambda s:s.score)

print sorted(L)

为什么三次输出结果都是对成绩排过序的?这个应该是不影响原L的啊??

正在回答

2 回答

http://img1.sycdn.imooc.com//5a577d970001db1f06380426.jpg

这是eclipse下运行截图,是eclipe坏掉了吗?

0 回复 有任何疑惑可以回复我~
print(L)    # 这样才是打印原 L
print(sorted(L))    # 这样是打印排序过的


0 回复 有任何疑惑可以回复我~
#1

weibo_倔强不屈的颜小贱95_0 提问者

我知道是这样的,但是我用eclipse运行出错了,是哪里的问题呢
2018-01-11 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255623    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

sorted排序问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信