【发布时间】:2017-12-04 02:40:19
【问题描述】:
我是 python 新手,我陷入了这个错误。我想按名称顺序打印团队中动物的名称和出生年份。现在我一直在打印年份和名字,但没有顺序。我想使用 lambda 但发生错误。你能帮帮我吗?
class Animal:
def __init__(self, name):
self.name = name
class Team:
def __init__(self, name):
self.name = name
self.year_of_birth = year_of_birth
self.members = []
def add_member(self, member):
self.member = member
self.members.append(team.member)
def print_team(team):
list_members= []
for member in team.members:
list_members.append(member.name)
list_members.append(member.year_of_birth)
print('{} ({})'.format(member.name ,member.year_of_birth) )
print (list_members)
for memeber in list_members:
sorted(list_members, key = lambda member: member.name)
print (list_members)
team = Team('Wolves')
team.add_member(Animal('Josh', 2015))
team.add_member(Animal('Quinn', 2016))
team.add_member(Animal('Peter', 2010))
print_team(team)
行,在 排序(成员列表,键 = lambda 成员:成员名称) AttributeError: 'str' 对象没有属性 'name'
【问题讨论】:
-
最好先修复您的代码 - 我认为有些名称的位置错误
-
什么属性?发布完整错误!
-
list_members是一个交替的值列表(在每个循环上附加两个属性),而不是类对象。 -
我完全忘记了。对不起。这是修改后的版本
-
检查拼写例如会员
标签: python