libro
www.tuyano.com
初心者のためのPython入門

リスト・タプル・レンジ・セット・辞書 (5/8)

作成:2011-01-18 09:57
更新:2017-06-03 12:28

■シーケンスの機能

リストなどの「多数の値をまとめて扱う」というものは、とても便利ですが、しかし最初から固定された数の要素しか使えないのではちょっと融通がききませんね。

が、心配は無用です。リストには、要素を追加したり削除したりするための機能がちゃんと備わっているのです。

その多くは、「シーケンス」に用意されている機能です。つまり、リスト、タプル、レンジのいずれでも使うことのできる機能というわけです。では、シーケンスの基本的な機能について整理しておきましょう。


・新しい要素を追加する
リスト.append( 値 )
リストのいちばん最後に値を追加します。


・指定したインデクスの位置に値を挿入する
リスト.insert( インデクス, 値 )
リストの指定したインデクス番号のところに値を挿入します。


・指定した値を削除する
リスト.remove( 値 ) 
指定した値をリストから取り除きます。


・指定したインデクス番号の要素を削除する
del リスト [ 番号 ] 
リストの決まった番号の値を削除するものです。これは、delの後に、リストの削除するインデクス番号を指定して記述します。delの後は、()はいりません。


――ここまでの「追加」「挿入」「削除」といったものは、シーケンスといってもリストだけしか対応していません。なぜかというと、これはリストを変更する操作だからです。タプルとレンジは、イミュータブル(書き換え不可)ですから、これらの操作は行えません。

以後は、3つのコンテナに共通するものです。「シーケンス全般で使える機能」です。


・コンテナの足し算
変数 = コンテナ + コンテナ
リストとタプルは、+で足し算ができます。2つのコンテナを1つにつなげたものを作成できるのです。レンジは、数列という性格上、対応していません。
  
  
・コンテナの掛け算
変数 = コンテナ * 整数
コンテナの値を指定した数だけつなげたものを作成します。例えば、こんな具合です。
[1, 2, 3] * 3 
 ↓
[1, 2, 3, 1, 2, 3, 1, 2, 3]


・インデクスの範囲を返す
変数 = コンテナ [ 開始値 : 終了値 ]
インデクス番号で指定された範囲の値を取り出すためのものです。例えば、[2:5]とすれば、2~5のインデクス番号の要素をコンテナで取り出します。
  
  
・値が含まれているか?
値 in コンテナ 
値 not in コンテナ
これは、値がコンテナの中に含まれているかどうかを調べるものです。結果は真偽値になります。inは、値が含まれていればTrue、いなければFalseとなります。not inは反対に含まれていればFalse、いなければTrueとなります。


・要素の数を得る
変数 = len( コンテナ )
そのコンテナにいくつの値が保管されているかを整数で返します。


・最大値、最小値を得る
変数 = max( コンテナ ) 
変数 = min( コンテナ )
コンテナに保管されている値の中から最大のもの、最小のものを調べて返します。


――ざっとこれらを使ってリスト内の要素を利用できるようになれば、ずいぶんと便利になりそうですね。下に簡単な利用例をあげておきます。リストarrに新たに値を追加したり削除したりした結果を出力しています。当初のリストとはずいぶん保管する値が変わっているのがわかるでしょう。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

arr = ['hello','bye'] 
arr.append('finish!') 
arr.insert(1, 'welcome') 
arr.remove('bye') 
for n in arr: 
    print(n) 

※関連コンテンツ

「初心者のためのPython入門」に戻る