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',