#?編碼:?utf-8
#
#?作者:?蒂姆。王(姓氏)
#?日期:?十壹月?2014
#?文件名:?百度/qa3.py
" " "下面的代碼只提供了擴展引用的方法,可以在2.7版本下運行。"""
進口?關於
def?解析器(數據序列,帕特?keyname,?*evalattrs):
" " "用patt定期解析給定的數據序列數據序列。
轉換指定evalattrs的值,
將keyname作為字典鍵值,
"""
收藏家?=?{}
為了什麽?匹配?在?過濾器(無,map(patt.match,?數據系列)):
數據?=?matched.groupdict()
為了什麽?attr?在?evalattrs:
數據[屬性]?=?eval(數據[屬性])
收集器[data.get(keyname)]?=?數據
回歸?收藏者
def?iterdictsort(dictdatas,?sortattr):
為了什麽?v?在?sorted(dictdatas.values(),
key=lambda?五:?v.get(sortattr)):
產量?v
語境?=?u " " "
廣州2014-11-22蘋果996
深圳2014-11-23香蕉1075
杭州2014-11-24番茄543
北京2014-11-25橙色824
"""
派特?=?re.compile(r"""^
(?P & lt區域設置& gt\S+)
\s+
(?P & lt日期& gt\S+)
\s+
(?P & lt產品& gt\S+)
\s+
(?P & lt數量& gt\d+)
\s+
(?P & lt金額& gt\d+)
\s*$ " ",?關於。我|re。U|re。x)
fmt?=?u"{locale}?{日期}?{數量:4}?{amount:8} "
數據?=?解析器(context.splitlines(),?帕特?“區域設置”,?“數量”,?“金額”)
打印?"="*32
打印?\n。join(fmt . format(* *數據)
為了什麽?數據?在?iterdictsort(datas,數量'))
打印?"="*32
打印?\n。join(fmt . format(* *數據)
為了什麽?數據?在?iterdictsort(datas,金額'))