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 © 2024
京ICP备05028076号