所以我正在制定议程。
管理字典的议程属性是:self.ContactList = {}
在这里,我有一个电话号码作为联系人的密钥(这是一个班级)。
Contact类有一个名为telephone的属性,其他属性包括联系人姓名。
我想要一个列出议程中联系人的功能,但是我想按照其中包含的联系人的字母顺序列出它们。
现在我用它来打印联系人(已经覆盖了联系人类的____str____以允许这样做):
def listcontacts(self, agenda):
print("Contact List\n")
for tel, contact in agenda.ContactList.items():
print(contact,"\n"*2)
如何按联系人的属性排序self.ContactList" name"?
编辑:联系类如下
class Contact:
def __init__(self, name, adress, zipcode, telephone):
self.name = name
self.adress = adress
self.zipcode = zipcode
self.telephone = telephone
def __str__(self):
return ( "Name: " + self.name + "\nAdress: " + self.adress + "\nZipCode: " + self.zipcode
+ "\nTelephone: " + self.telephone)
答案 0 :(得分:2)
如果要对列表进行排序,请使用sorted()
功能。如果您希望排序使用有趣的排序标准,请使用key=
关键字:
for tel, contact in sorted(agenda.ContactList.items(), key=lambda x: x[1].name):