Python

Collection...Sequence,Slice,List,Tupple

投稿日:

Sequence,Slice

初めてPythonを触ると地味に取っつきにくい構文が現れるけども。
序数によるアクセスの他、範囲を指定してリストを得られる。
負の序数を指定すると後ろから数える。負のスライスも可
スライスの開始位置、終了位置はSequenceの前の方->後の方の順に書く。
長さがゼロ、またはマイナスの場合、空のリストを返す。

増分値を指定することもできる。

スライス自体もオブジェクト

スライスを構成する3要素は省略できる。
増分値に負を与えると逆順になるのを利用して要素を反転できる。

スライスを指定して代入できる。

スライスを指定して削除できる。リストから削除するだけで要素自体を破棄しない。

算術演算子、比較演算子、メンバーシップ演算子が用意されている。

Sequenceの長さはlen()で取得。

List

リストの基本的な使い方は以下。

上記は以下のように1回で書ける。リスト内包とか言うらしい。

リスト内包には条件をつけられる。例えば偶数だけを集めるのは以下。

iteratableを分解できる。

iteratableの分解時に要素をリストで受けられる。
以下、タプルの第2要素以降をリストで受けて総和を求めて第1要素に掛けている。

リスト内包を入れ子にすることもできる。

Listオブジェクトの代表的なメソッド達。

Tuple

更新不能なリスト。要素を列挙するだけでTupleを作れる。更新できない以外はListと変わらない感じ。
"更新できない"という特徴があるため、辞書のキーとして使うことができる。
リストは要素としてそれぞれ独立した値が設定されることを想定。
タプルは全体で1つの要素になることを想定。タプルは「複数の要素から構成される値」。
"更新できない"という特徴は、メモリ割り当て時に動的確保を想定しなくて良いため、
リストよりもタプルの方がメモリ使用量を削減できるし、GCの負荷軽減に寄与する。

-Python
-

Copyright© ikuty.com , 2019 AllRights Reserved Powered by AFFINGER4.