Python之dict的妙用
眾所周知,Python的語法裡沒有像C語言中的switch…case…語法結構,所以有時候當我們想要用這個語法時不免捉急。不過不用怕,Python的dict資料結構有時能夠很好地幫助我們實現switch…case…結構。
我們以下面一段程式為例來說明:
def operation(a,b,op): if op == '+': return a+b if op == '-': return a-b if op == '*': return a*b if op == '/': return a/b if __name__ == '__main__': a=1 b=2 print('a+b=', operation(a,b,'+')) print('a-b=', operation(a,b,'-')) print('a*b=', operation(a,b,'*')) print('a/b=', operation(a,b,'/'))
在上面的程式中,因為Python本身缺少switch…case…語法,因此只能使用if語句,但這樣會造成很大的不便和浪費。我們嘗試著用dict(字典)來解決這個問題。程式碼如下:
def operation(a,b,op): op_dict = {'+':a+b, '-':a-b, '*':a*b, '/':a/b,} return op_dict[op] if __name__ == '__main__': a=1 b=2 print('a+b=', operation(a,b,'+')) print('a-b=', operation(a,b,'-')) print('a*b=', operation(a,b,'*')) print('a/b=', operation(a,b,'/'))
在上面的程式中,我們利用dict資料結構的key-value對即可實現switch…case…語法,由此可以看出這種方法的簡潔和便利。
當然這僅僅只是一個例子,有興趣的同學可以多多嘗試,說不定能找到更多dict的妙用~~
本次分享到此結束,歡迎交流與批評~~
相關推薦
python之 切片--妙用
之前的blog介紹過切片 可以參考 : python學習入門(一) 下面介紹下不同的切片 #字串的切片 x = "123456789" x=x[:-3]+x[-2:-1]+x[-1] print(x
Python之dict的妙用
眾所周知,Python的語法裡沒有像C語言中的switch…case…語法結構,所以有時候當我們想要用這個語法時不免捉急。不過不用怕,Python的dict資料結構有時能夠很好地幫助我們實現switch…case…結構。 我們以下面一段程式為例來說明:
Python:eval的妙用和濫用
list 建議 表達式 博文 環境 dem 完整 定期 mat eval()函數十分強大,官方demo解釋為:將字符串str當成有效的表達式來求值並返回計算結果。 so,結合math當成一個計算器非常好用。 其它使用方法,能夠把list,tuple
Python之Dict字典
ges 16px 標準 art 冒號 key python 內置 left 一、Dict(Dictionary)類型 Dict(中文叫字典)是另一種可變容器模型,且可存儲任意類型對象。 字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分
python with 語句妙用
body 原理 value 協議 span print int ger world class aa(): def bb(self): print("hhhh") return "hello world" de
python之uinttest,用例執行順序
單元測試框架 構建 mage es2017 但是 images testsuite 順序執行 python unittest單元測試框架, 以test開頭的測試用例,默認執行順序是按照ASC碼來執行 如果有類,先排序執行類,在執行類中,再排序用例順序執行 如果想要按照指
Python之dict字典詳解
seq del AR blog 復制 mon 語言 方式 關鍵字 Python內置了字典:dict的支持,dict全稱dictionary,在其他語言中也稱為map,字典是另 一種可變容器模型,且可存儲任意類型對象。具有極快的查找速度。 字典是一種通過名字或者關鍵字引用的得
python之dict與set
python之dict與setdict全稱dictionary,使用鍵-值(key-value)存儲,書寫一個dictname={:::} (name[])當數據量大時,字典比列表和元組速度快dict實現原理和查字典是一樣的,假設字典包含一萬字,list查詢方法是一個一個查找,知道找到為止,dict是查這個字
python之路:用戶輸入(一)
老師 用法 inf 代碼 用戶輸入 display 用戶 -- class python之路:用戶輸入(一) 好了,現在我學了點博客的用法,現在不會像以前的那麽土了。好吧,不多說,我要講課了。 今天,我會用情景實例給大家說這個用戶輸入。 情景是:你是IT教育的python帶
Python之dict(或物件)與json之間的互相轉化
原文連結地址:https://blog.csdn.net/qq_33689414/article/details/78307018 Python之dict(或物件)與json之間的互相轉化 在Python語言中,json資料與dict字典以及物件之間的轉化,是必不可少的操作。 在Python
eval()函式 python eval() Python:eval的妙用和濫用
eval()函式十分強大,官方demo解釋為:將字串str當成有效的表示式來求值並返回計算結果。 so,結合math當成一個計算器很好用。 其他用法,可以把list,tuple,dict和string相互轉化。 見下例子: a = "[[1,2], [3,4], [5,6], [7,8], [9
python之Dict和set型別
Dict就是一種key:value的表格: >>> d = { 'Adam':95, 'Lisa':85, 'Bart':59, 'Paul':75 } >>> print (d) {'Paul':
Python eval 函式妙用
作者博文地址:https://www.cnblogs.com/liu-shuai/ eval 功能:將字串str當成有效的表示式來求值並返回計算結果。 語法: eval(source[, globals[, locals]]) -> value 引數: source:一個Python
Python之dict(或對象)與json之間的互相轉化
aud 導入 ict ads mps dump json數據 color 語言 在Python語言中,json數據與dict字典以及對象之間的轉化,是必不可少的操作。 在Python中自帶json庫。通過import json導入。 在json模塊有2個方法, load
python之用戶交互
python1 用戶交互:>>> name=raw_input("Input your name:")Input your name:zwj>>> print(name)zwj如果是python3.0,關鍵字則為input本文出自 “一萬年太久,只爭朝夕” 博客,請務必保留
python 之調用函數
abs last lin docs trac ive get targe type Python內置了很多有用的函數,我們可以直接調用。 要調用一個函數,需要知道函數的名稱和參數,比如求絕對值的函數abs,只有一個參數。可以直接從Python的官方網站查看文檔: http:
python之文件調用
color clas print .py cnblogs pat div class sys test_import_file.py,在當前目錄 import sys sys.path.append("..") import hello hello.printHell
Python實戰之dict簡單練習
簡單 fault zhang zha contain default san rom mat [‘__class__‘, ‘__contains__‘, ‘__delattr__‘, ‘__delitem__‘, ‘__dir__‘, ‘__doc__‘, ‘__eq__
Python之路-目錄規範和不同目錄間進行模塊調用
base 轉換成 arm 環境變量 規範 有環 路徑 pytho package 目錄規範: 預備知識: 要實現不同目錄間進行模塊調用必須在當前文件夾中創建一個空的__init__.py的文件(pycharm會在創建python package的時候自動創建),有
C語言在linux內核中do while(0)妙用之法
pos turn jsb world div fprintf cpp efault code 為什麽說do while(0) 妙?由於它的確就是妙,並且在linux內核中實現是相當的妙,我們來看看內核中的相關代碼: #define db_error(fmt, ..