Pythonコンテナのデータ型
コレクションには、いくつかのコンテナデータ型があります。これは、dict、list、setなどのPythonの汎用組み込みコンテナの代替です。
一部のコンテナは-
Sr.No。 | コンテナと説明 |
---|---|
1 | namedtuple() 名前フィールドを持つタプルサブクラスを作成するために使用されます |
2 | deque リストタイプのデータを使用したキュー |
3 | カウンター ハッシュテーブルオブジェクトをカウントするdictのサブクラス |
4 | ChainMap 複数のマッピングの単一ビューを作成するために使用されます |
5 | OrderedDict データが順序付けられた方法で追加されるdictのサブクラス |
6 | ユーザーリスト 簡単にアクセスできるリストのラッパー。 |
このモジュールを使用するには、-
を使用してインポートする必要がありますimport collections
Deque Object
Dequeは基本的にスタックとキューの構造を一般化したもので、左から右に初期化されます。リストオブジェクトを使用して両端キューを作成します。
Dequeに関連するメソッドのいくつかは-
です。Sr.No。 | メソッドと説明 |
---|---|
1 | append(x) dequeの右側に要素xを追加します |
2 | appendleft(x) dequeの左側に要素xを追加します |
3 | clear() dequeをクリアする |
4 | count(x) dequeでのxの出現数をカウントします |
5 | index(x [、start [、stop]]) xの位置を返します。開始と停止が定義されている場合、その範囲内にあります |
6 | insert(i、x) xを位置iの両端キューに挿入します |
7 | pop() 右側からエレメントを取り外して戻します |
8 | popleft() 左側からエレメントを取り外して戻します |
9 | reverse() dequeの内容を逆にします |
10 | rotate(n =1) dequeを右にn回回転します |
サンプルコード
import collections as col my_deque = col.deque('124dfre') print(my_deque) print("Popped Item: " + str(my_deque.pop())) print("Popped Item From Left: " + str(my_deque.popleft())) print(my_deque)
出力
deque(['1', '2', '4', 'd', 'f', 'r', 'e']) Popped Item: e Popped Item From Left: 1 deque(['2', '4', 'd', 'f', 'r'])
カウンターオブジェクト
カウンターは、dict型オブジェクトのサブクラスです。キー値をカウントするために使用できます。カウンターは整数値のみを許可します。
いくつかのカウンター関連のメソッドは-
ですSr.No。 | 方法と説明 |
---|---|
1 | elements() カウンター値が保持する回数だけ、要素を返します。 |
2 | most_common([n]) このメソッドは、カウンターから最も一般的に使用されるn個の要素のリストを返します。 nが指定されていない場合、すべてを返します。 |
3 | 減算(反復可能またはマッピング) キーが一致する2つのカウンターオブジェクトからカウンター値を減算します。 |
4 | 更新(反復可能またはマッピング) キーが一致する場合、値を置き換えることなく値を追加します。 |
サンプルコード
import collections as col text_list = ['ABC','PQR','ABC','ABC','PQR','Mno','xyz','PQR','ABC','xyz'] my_counter = col.Counter() for element in text_list: my_counter[element] += 1 print(my_counter) print(my_counter.most_common(2))
出力
Counter({'ABC': 4, 'PQR': 3, 'xyz': 2, 'Mno': 1}) [('ABC', 4), ('PQR', 3)]
ChainMapオブジェクト
ChainMapは、辞書を1つのユニットにカプセル化するために使用されます。
一部のChainMapメンバーは-
Sr.No。 | 方法と説明 |
---|---|
1 | マップ これは、対応する値を持つキーを返すために使用されます。 |
2 | new_child(m =None) このメソッドは、チェーンの最初の位置に新しい辞書を挿入するために使用されます。 |
サンプルコード
import collections as col con_code1 = {'India' : 'IN', 'China' : 'CN'} con_code2 = {'France' : 'FR', 'United Kingdom' : 'GB'} code = {'Japan' : 'JP'} chain = col.ChainMap(con_code1, con_code2) print("Initial Chain: " + str(chain.maps)) chain = chain.new_child(code) #Insert New Child print("Final Chain: " + str(chain.maps))
出力
Initial Chain: [{'India': 'IN', 'China': 'CN'}, {'France': 'FR', 'United Kingdom': 'GB'}] Final Chain: [{'Japan': 'JP'}, {'India': 'IN', 'China': 'CN'}, {'France': 'FR', 'United Kingdom': 'GB'}]
-
Pythonで最も水が多いコンテナ
n個の非負の整数a1、a2、...、anのセットがあり、各値は座標(i、a [i])の点を表しているとします。 n本の垂直線は、線iの2つの端点が(i、a [i])と(i、a [0])にあるように存在します。 x軸と一緒に1つのコンテナを形成する2つの線を見つける必要があるため、水量が最大になる2つの列を見つけることが目標です。したがって、配列が[1,8,6,2,5,4,8,3,7]の場合、次のようになります 影付きの部分では、高さが7で、セクションが7つあるため、合計面積は実際には7 * 7=49です。これが出力です。 これを解決するために、次の手順に従います 低:=0、高:=a
-
Pythonのissuperset()
この記事では、Pythonでのissuperset()と、さまざまな分野でのその実装について学習します。 このメソッドは、セットBのすべての要素に引数として渡されるすべての要素セットAが含まれている場合はブール値Trueを返し、Aのすべての要素がBに存在しない場合はfalseを返します。 これは、BがAのスーパーセットである場合、それを意味します returns true; else False 例 いくつかの例を見てみましょう A = {'t','u','t','o','r','i',