我想知道是否有一种方法可以使python 2.7对由类内的字符串按字母顺序排列的类列表进行排序。
class person: #set up for patient
def __init__(self, FName, LName):
self.FName = FName # the first name of patient
self.LName = LName # last name of patient
patients=person(raw_input('first name'),raw_input('second name'))
i=1
all=[patients]
orderAlphabet=[patients]
orderInjury=[patients]
print a[0]
while i<3:
patients=person(raw_input('first name'),raw_input('second name'))
a.append(patients)
i = i+1
我试图在此示例中按姓氏排序。
最佳答案
operator.attrgetter
对此非常有用。
from operator import attrgetter
a.sort(key=attrgetter('LName')) #sorts in-place
print(a) #list should be sorted here.
attrgetter
也可以采用多个参数。因此,如果您想按姓氏然后按名字排序,请执行a.sort(key=attrgetter('LName', 'Fname'))
关于python - 根据类python 2.7中的变量按字母顺序对类列表进行排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31553507/