python的dict用起來很方便,可以自定義key值,并通過下標訪問,示例如下:
>>> d = {'key1':'value1',
... 'key2':'value2',
... 'key3':'value3'}
>>> print d['key2']
value2
>>>
lambda表達式也是很實用的東東,示例如下:
>>> f = lambda x : x**2
>>> print f(2)
4
>>>
兩者結合可以實現結構相似的函數調用,使用起來很方便,示例如下:
示例一:不帶參數?
#! /usr/bin/python
?
msgCtrl = "1 : pause\n2 : stop\n3 : restart\nother to quit\n"
?
ctrlMap = {
'1':??? lambda : doPause(),
'2':??? lambda : doStop(),
'3':??? lambda : doRestart()}
?
def doPause():
??????? print 'do pause'
?
def doStop():
??????? print 'do stop'
?
def doRestart():
??????? print 'do restart'
?
if __name__ == '__main__':
??????? while True:
??????????????? print msgCtrl
??????????????? cmdCtrl = raw_input('Input : ')
??????????????? if not ctrlMap.has_key(cmdCtrl):break
??????????????? ctrlMap[cmdCtrl]()
示例二:帶參數
#! /usr/bin/python
?
msgCtrl = "1 : +\n2 : -\n3 : *\nother to quit\n"
?
ctrlMap = {
'1':??? lambda x,y : x+y,
'2':??? lambda x,y : x-y,
'3':??? lambda x,y : x*y}
?
?
if __name__ == '__main__':
??????? while True:
??????????????? print msgCtrl
??????????????? cmdCtrl = raw_input('Input : ')
??????????????? if not ctrlMap.has_key(cmdCtrl):break
??????????????? print ctrlMap[cmdCtrl](10,2),"\n"
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
