1樓:匿名使用者
python的資料不需要宣告, 使用的時候就定義了mydict = {}
mydict2 = {}
隨用隨定義, 不需要糾結這個問題
2樓:敢和老孃搶師妹
python中將兩個字典進行定義操作,是一個比較常見的問題。本文將介紹幾種實現兩個字典定義的方案,並對其進行比較。
對於這個問題,比較直觀的想法是將兩個字典做相加操作,賦值給結果字典,其**為:
python兩個字典定義(方法1)python
dictmerged1 = dict( dict1.items() + dict2.items() )
然而,該方法定義時所用時間較長,效率更高的**為:
python兩個字典定義(方法2)python
dictmerged2 = dict( dict1, **dict2 )
這種方法使用的是dict()工廠方法(python2.2以上版本)。如果輸入引數是另一個字典(此處為dict1),則呼叫該工廠方法時會從dict1中複製內容生成新的字典。
該工廠方法從python2.3版本開始,允許接受字典或關鍵字引數字典進行呼叫。但應當注意,對於這種呼叫方式,dict()最多隻接受一個引數(或者說是一組name=value的可變長引數),而不會再接受另一個字典。
因此直觀上的簡單使用dict1與dict2兩個引數的方法會提示如下錯誤:
python
>>> dictmerged = dict( dict1, dict2 )
traceback (most recent call last):
file "", line 1, in
typeerror: dict expected at most 1 arguments, got 2
這也就是我們看到上面的方法2中使用的是**dict2的原因。熟悉c的朋友應當注意,在這裡*的意思並不代表指標,這是python中可變長函式引數的寫法(關於可變長函式引數的相關知識見本文)。在這裡,**的意思是基於字典的可變長函式引數。
方法2執行的是如同下面方法3中的**,即先將dict1拷貝給dictmerged,在執行update()操作:
python兩個字典定義(方法3)python
dictmerged3 = dict1.copy()
dictmerged3.update( dict2 )
對於第一步的複製操作而言,這種使用內建方法copy()的複製方式,和方法2中的複製結果是一樣的,但根據《core python programming (2nd edition)》一書中7.3.2節所述,從已存在字典中生成新字典的方式dictnew = dict( dictold )較內建方法dictnew = dictold.
copy()會慢一些,因此書中推薦使用copy()方法。
因此,從這幾種方式看來,方法3的效率最高,並且**也比較易讀。
3樓:
def func1
def func2
python怎麼定義多個陣列?
l1 =
l2 =
python怎麼定義多個字典?
d1 = dict()
d2 = dict()
4樓:匿名使用者
dictionary和list差不多,
a={}
b={}...
python中,如何將多個字典組合成一個字典
5樓:曹曉山
python程式設計將多個字典
來檔案合併源
成一個字
典檔案,**bai如下:
//例子:du合併a.txt和b.txt兩個字典檔案zhi
6樓:匿名使用者
dica11 = {}
dica11.update(dict1)
dica11.update(dict2)
...dica11.update(dictn)
7樓:匿名使用者
dictall = {}
for i in range(1,n+1):
exec("dictall.update(dict"+str(i)+")")
8樓:匿名使用者
其實 這個時候你最好 dir(dict) 學習一下
python自定義處理字典的函式,說沒有定義
那是因為你單獨在shell裡面執行,和你當前的那個.py檔案,木有任何關係啊。所以才回報錯,說那個 答函式找不到的。你還是先看看這個吧 整理 多圖詳解 如何在windows下開發python 在cmd下執行python指令碼 如何使用python shell mand line模式和gui模式 如何...
python中怎麼呼叫自定義函式
網上的很多資料都是說 如果把my abs 的函式定義儲存為abstest.py檔案了,那麼,可以在該檔案的當前目錄下啟動python直譯器,用from abstest import my abs來匯入my abs 函式,注意abstest是檔名 不含.py副檔名 但是在嘗試這種方法後,發現仍然還是無...
mysql模糊查詢怎麼查多個欄位
下面兩種情bai況 1.返回值 du由全體出入zhi引數合併在一起而得到的字元dao串。只要輸入內的引數中有null值,就返回null。concat允許只有一個輸入引數的情況。因此,mysql單表多欄位模糊查詢可以通過下面這個sql查詢實現 select from magazine where co...