Sortedの使い方
会社でSortedの使い方を教えてもらったのでサンプル書いてみた。
keyでどの要素でソートしたいかを指定できるのが大事です。
# -*- coding:utf-8 -*- import random import time class Data(): """ Sort用のデータを入れる """ def __init__(self, x, y, z): self.x = x self.y = y self.z = z def show_list(sorted_list): print "#" * 22 # ソートされたリストを表示する count = 0 for data in sorted_list: print "[%2d] = (%2d, %4d, %3d)" % (count, data.x, data.y, data.z) count+=1 def main(): random.seed(time.localtime()) data_list = [] # create data for x in xrange(0, 100): d = Data(x, random.randint(1, 1000), random.randint(1, 500)) # print print "[%2d] = (%2d, %4d, %3d)" % (x, d.x, d.y, d.z) data_list.append(d) # Data.y で sort sorted_list = sorted(data_list,key=lambda x : x.y) # ソートされたリストを表示する show_list(sorted_list) # Data.z で sort sorted_list = sorted(data_list,key=lambda x : x.z) show_list(sorted_list) if __name__ == '__main__': main()