關於 Python sorting

又要來寫偏離題的文了, 上禮拜花了一點時間把 Learning Ruby 這本書 K 完, 想說 Rails3 快出來了, 到時候可以來玩一下, 不過主要的目的就是想說, 認識寫 python 的人實在是超少, 做 web 的又更少, 認識寫 Rails 的人倒還比較多, 所以想說公司有東西外包的話, 用 Rails 寫的話, 到還可以處理, 所以就想說研究一下。 總之不太想碰 PHP … XD

Anyway, 我真的是超弱的, python 都還不熟就想學 ruby, mysql 也不熟, 應該是先把自己手邊在用的東西先學好才是。

夠離題了吧!? (咦)

其實是今天被 sorting 這件事困擾了一下, 因為做 web 所以排序的工作都是交給 SQL 去做, 偏偏碰到了一個不適合放進 SQL 的東西, 然後又得排序, 幸好找到了下面這一篇 Sorting Mini-HOW TO, 不然真是完全沒經驗。

要排序的資料是一個放 dict 的 list, 而得用 dict 裡的一個時間欄位做排序, 資料像是這樣

unsorted_list = [  
    {'name': foo, 'created': datetime.datetime(2011, 1, 1, ... )},
    {'name': foo, 'created': datetime.datetime(2010, 12, 1, ... )}, 
    ....
]```

沒想到這樣就可以排出來了

sortedlist = sorted(unsortedlist, key=lambda item: item['created'])
sorted_list.reverse() # 如果要新的時間在前的話, reverse 一下```

神阿! 在給我多一點時間吧!!

tzangms

Read more posts by this author.

Subscribe to Oceanic / 海海人生

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!