Python sorted()在windows系统上获取语法错误
我通过youtube学习并复制了这段代码,自己尝试,但无法复制结果,我使用windows系统和Atom编写代码,观看的视频是使用MAC系统和sublime,这会让它有所不同吗 s_employees=sorted[employees,key=attrgetter'age'] ^ SyntaxError:无效语法 [在0.141s中完成]更改为s_employees=sortedemployees,key=attrgetter'age'在花式attrgetter语法糖之前,让我们尝试一下:Python sorted()在windows系统上获取语法错误,python,python-3.x,Python,Python 3.x,我通过youtube学习并复制了这段代码,自己尝试,但无法复制结果,我使用windows系统和Atom编写代码,观看的视频是使用MAC系统和sublime,这会让它有所不同吗 s_employees=sorted[employees,key=attrgetter'age'] ^ SyntaxError:无效语法 [在0.141s中完成]更改为s_employees=sortedemployees,key=attrgetter'age'在花式attrgetter语法糖之前,让我们尝试一下: cla
class Employee():
def __init__(self, name, age, salary):
self.name = name
self.age = age
self.salary = salary
def __repr__(self):
return '({},{},${})'.format(self.name, self.age, self.salary)
from operator import attrgetter
e1 = Employee('Carl', 37, 70000)
e2 = Employee('Kevin', 30, 80000)
e3 = Employee('Rose', 25, 90000)
employees = [e1, e2, e3]
s_employees = sorted[employees, key = attrgetter('age')]
print(s_employees)
接下来,您可以将lambda调用替换为:
s_employees = sorted(employees, key = lambda employee: employee.age)
尽管如此,我还是会重写Employee类以使用/继承collections.namedtuple
函数调用使用foo…,而不是foo[…]。投票结束,因为简单的印刷错误。它的括号用于分类的员工,key=attrgetter'age'wow!谢谢我真不敢相信我犯了这个错误!
from operator import attrgetter
s_employees = sorted(employees, key = attrgetter('age'))
from collections import namedtuple
Employee = namedtuple("Employee",("name", "age", "salary"))