2012年03月13日 星期二 09:51
class Teacher:
def __init__(self):
self.age="";
self.name=u"";
self.salary="";
data = dict();
data["t"]=Teacher();
data["t"].age=33;
data["t"].name="liu";
data["t"].salary="4000";
data["s"]=Teacher();
data["s"].age=11;
data["s"].name="liang";
data["s"].salary="85";
data["d"]=Teacher();
data["d"].age=20;
data["d"].name="li";
data["d"].salary="85";
for key in data.keys():
print key #打印s,t,d
我想按age排序或者按赋值的顺序排序,请问下要怎么实现?初学者,请各位前辈赐教,谢谢
2012年03月13日 星期二 10:03
可以使用内置函数sorted排序。
import operator
class Teacher:
def __init__(self):
self.age = "";
self.name = u"";
self.salary = "";
data = dict();
data["t"] = Teacher();
data["t"].age = 33;
data["t"].name = "liu";
data["t"].salary = "4000";
data["s"] = Teacher();
data["s"].age = 11;
data["s"].name = "liang";
data["s"].salary = "85";
data["d"] = Teacher();
data["d"].age = 20;
data["d"].name = "li";
data["d"].salary = "85";
result = sorted(data.values(), key = operator.attrgetter('age'))
for teacher in result:
print "-------------------"
print "name:", teacher.name
print "age:", teacher.age
print "salary:", teacher.salary
2012年03月13日 星期二 10:14
实现了,谢谢^^。先处理任务,回头再深入看下
2012年03月14日 星期三 00:21
def sortDic(Dict):return sorted(Dict.items(),key=lambda a:a[1])
2012年03月23日 星期五 22:57
sorted(data.values(),key=lambda x:x.age)
Zeuux © 2025
京ICP备05028076号