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

有些不懂 请帮忙

http://img1.sycdn.imooc.com//59be46400001a92614060592.jpg

把属性当成一个list元素传进去为什么报错 非得是实例吗

正在回答

2 回答

你在sorted([p1.name,p2.name,p3.name],...)中[p1.name,p2.name,p3.name]实际是一个列表,对应['Bart','Adam','Lisa'],所以是没有.name这个属性的。如果想要运用你自己的方法,可以将代码改为

L2=sorted([p1.name,p2.name,p3.name],lambda p1,p2:cmp(p1,p2))

print L2[0]

print L2[1]

print L2[2]


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

刘莫里

你修改后的这个我试了,运行失败
2017-12-27 回复 有任何疑惑可以回复我~

你把list中的对象换成了字符串,这样你sorted排序的实际是一组字符串,对于字符串不能输出.name。sorted中必须对对象进行排序,最后才能调用.name方法。

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

qq_巴黎魅影_0 提问者

谢谢 虽说还是有些迷茫 嘻嘻嘻
2017-09-17 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

有些不懂 请帮忙

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