1.深さのdict
マッピングインポートcollections.abc、MutableMapping マッピングタイプに属する#1辞書 A = {} プリント(でisinstance(A、MutableMapping))を
2.一般的な方法:
= { " bobby1 ":{ " 会社":" imooc " }、 " bobby2:":{ " 会社":" imooc " }} #クリア #1 a.clear() #copy、返回浅拷贝 #new_dict = A .copy() #のnew_dict [ " bobby1 " ] [ " 会社" ] = " imooc3 " #の深拷贝 #インポートコピー #1 new_dict = コピー。deepcopy(A) #new_dict [ "bobby1 " ] [ " 会社" ] = " imooc3 " #fromkeys new_list = [ " bobby1 " " bobby2 " ] new_dict = dict.fromkeys(new_list、{ " 会社":" imooc " }) #1 ゲット #値 = new_dict。取得(" ボビー" 、{}) #プリント(値) #items 位ためのキー、値でnew_dict。アイテム(): #印刷(キー、値) #は、SetDefault #他去调用D.对 取得(K、D)同时D [k]を设置 DEFAULT_VALUE = new_dict.setdefault(" ボビー"、" imooc " ) プリント(new_dict) :#更新 new_dict.update(ボビー = " imooc " ) new_dict.update([(" ボビー" " imooc " )]) new_dict.update(((" ボビー" " imooc ")))
3. dictのサブクラス
#不建议继承リスト和の辞書の クラスMydict(辞書): デフ__setitem __(自己、キー、値): スーパー().__ SetItem関数__(キー、値 * 2 ) my_dict = Mydict(1 = 1 ) my_dict [ " 1 " ] = 1枚の プリント(my_dict)
#建议用UserDict からのコレクションはインポートUserDictの クラスMydict(UserDict): デフ__setitem __(自己、キー、値): スーパー().__ SetItem関数__(キー、値 * 2 ) my_dict = Mydict(1 = 1 ) 印刷(my_dict)
以下からのコレクションのインポートdefaultdictの クラスmyDict(UserDict): DEF __setitem __(自己、キー、値): スーパー().__ SetItem関数__(キー、値 * 2 ) my_dict = myDict(ワン= 。1 ) 印刷(my_dict) my_dict = defaultdict(dictの) MY_VALUE = my_dict [ 「ボビー」] #の__missing__方法、キーが見つからない場合は、キー値を実装
注意:実際には、__missing__魔法の機能が実現には、SetDefault、彼は鍵を見つけることができない場合は、デフォルトのキー値を実装することを言いました
3.セットとfrozensetの
#1 SET 設定順不同収集frozensetの不変ユニーク S = SET(' ABCDE ' ) S = SET([ ' A '、' B '、' C ' ]) プリント(S) #初期化方式 S = { ' A '、' B ' } プリント(型(S)) S2 = frozensetの(' ABCDE ' )#不変のタイプは、キー辞書のように使用することができる プリント(S2)
覚えておいてください:と数学演算、その上の違い、交差点、労働組合、および、などです。。
覚えておいてください:高い、非常に高性能のアプリケーションにデエンファシスを。
注意:また、使用することができます。
以下のための 「C 」 で セット: プリント(「私はセットにしています」)
注意:このメソッドは、__contain__実現されています
注意:__issubset__を達成するための方法があります
4.辞書とその実装の背後にある原則を設定します。
1.キーまたは値のセットは、辞書をハッシュすることができるされ、不変オブジェクトは、すべてのハッシュ、STR、fronzenset、タプル、その実装クラス__hash__することができます
Pythonの内部に大きな2.辞書メモリの支出が、速いクエリの速度、カスタムオブジェクトまたはオブジェクトは、辞書パッケージを使用しています。
格納順序と順序関連要素が追加され3.dict。
4.データは既存のデータの順序を変更することがあります。
5.listアレイとデータの増加、アプリケーションのメモリ空間操作の連続操作と自己増力方法。
専用メモリ空間の6.dictは時間の1/3は、アプリケーションメモリ空間に行くよりも少ないです。