ホームページ > バックエンド開発 > Python チュートリアル > Python の基本コンテンツ: コレクション モジュール

Python の基本コンテンツ: コレクション モジュール

巴扎黑
リリース: 2017-04-01 13:24:17
オリジナル
1633 人が閲覧しました

collections は、多くの便利なコレクション クラスを提供する Python の組み込みコレクション モジュールです。 1.Counter Counter は、たとえば、出現する文字の数を数える単純なカウンターです。 >>> import
collections>>> obj =
collections.Counter('applebanana')>>> ; print(obj)Counter({'a': 4, 'n':
2, 'p': 2, 'e': 1, 'l': 1, 'b': 1}) 2.OrderedDict はい 注文済みDictionary dict を使用する場合、キーは順序付けされていません。 dict を反復処理する場合、キーの順序を決定できません。キーの順序を維持したい場合は、OrderedDict を使用できます:>>> od =
collections.OrderedDict()>>> od['k2']
='k2'>> > od[ 'k1'] =
'k1'>>> odOrderedDict([('k2',
'k2'), ('k1', 'k1')]) or>>> od =
collections.OrderedDict([('k2','v2'),('k1','v1')])>>> odOrderedDict([('k2',
'v2'), ( 'k1' , 'v1')]) 3.defaultdict デフォルトの辞書は、辞書値のデフォルトのタイプを設定します import collectionsnum =
[11,22,33,44,55,66,77,88,99] #for my_dic 辞書 デフォルトのリスト タイプの値 my_dic =
collections.defaultdict(list) for i in num: if i > 66: my_dic['k1'].append(i) else: my_dic['k2']。 append(i) print(my_dic) 4.namedtuple 名前付きタプルは、カスタムタプルオブジェクトを作成してタプル要素の数を指定する関数であり、インデックスの代わりに属性を使用してタプルの要素を参照できます。このように、タプルの不変性を持ち、属性に基づいて参照できるnamedtupleを使用すると、データ型を簡単に定義できます。>>>person = collections.namedtuple('pp', [ 'name','age'])>>>p = person('apple',2)>>>print(p.name)>>>print(p.age) 5 .deque 双方向キュー リストを使用してデータを保存する場合、インデックスによる要素へのアクセスは非常に高速ですが、要素の挿入と削除は非常に遅くなります。これは、リストが線形ストレージであるためであり、データ量が大きい場合、挿入と削除の効率が低下するためです。削除率は非常に低いです。 Deque は、挿入および削除操作を効率的に実装するための双方向リストであり、キューとスタックに適しています: >>> dli =
collections.deque([1,2,3])>>>
dli.append(4)>>> dlideque([1, 2, 3, 4])>>>
dli.appendleft(5) #appendleft データを左に挿入>>> ([ 5, 1, 2, 3, 4]) 6.queue 単一アイテムキュー (キューモジュール内) import queueq = queue.Queue()q.put(123)q.put(456)print(q. qsize())print (q.get())#q.get() は、単一アイテムキューのデータを 1 つずつ取り出します print(q.get())

以上がPython の基本コンテンツ: コレクション モジュールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート