リスト・タプル・レンジ・セット・辞書 (5/8)
作成:2011-01-18 09:57
更新:2017-06-03 12:28
更新:2017-06-03 12:28
■シーケンスの機能
リストなどの「多数の値をまとめて扱う」というものは、とても便利ですが、しかし最初から固定された数の要素しか使えないのではちょっと融通がききませんね。
が、心配は無用です。リストには、要素を追加したり削除したりするための機能がちゃんと備わっているのです。
その多くは、「シーケンス」に用意されている機能です。つまり、リスト、タプル、レンジのいずれでも使うことのできる機能というわけです。では、シーケンスの基本的な機能について整理しておきましょう。
・新しい要素を追加する
・指定したインデクスの位置に値を挿入する
・指定した値を削除する
・指定したインデクス番号の要素を削除する
――ここまでの「追加」「挿入」「削除」といったものは、シーケンスといってもリストだけしか対応していません。なぜかというと、これはリストを変更する操作だからです。タプルとレンジは、イミュータブル(書き換え不可)ですから、これらの操作は行えません。
以後は、3つのコンテナに共通するものです。「シーケンス全般で使える機能」です。
・コンテナの足し算
・コンテナの掛け算
・インデクスの範囲を返す
・値が含まれているか?
・要素の数を得る
・最大値、最小値を得る
――ざっとこれらを使ってリスト内の要素を利用できるようになれば、ずいぶんと便利になりそうですね。下に簡単な利用例をあげておきます。リストarrに新たに値を追加したり削除したりした結果を出力しています。当初のリストとはずいぶん保管する値が変わっているのがわかるでしょう。
が、心配は無用です。リストには、要素を追加したり削除したりするための機能がちゃんと備わっているのです。
その多くは、「シーケンス」に用意されている機能です。つまり、リスト、タプル、レンジのいずれでも使うことのできる機能というわけです。では、シーケンスの基本的な機能について整理しておきましょう。
・新しい要素を追加する
リスト.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 コンテナこれは、値がコンテナの中に含まれているかどうかを調べるものです。結果は真偽値になります。inは、値が含まれていればTrue、いなければFalseとなります。not inは反対に含まれていればFalse、いなければTrueとなります。
値 not in コンテナ
・要素の数を得る
変数 = len( コンテナ )そのコンテナにいくつの値が保管されているかを整数で返します。
・最大値、最小値を得る
変数 = max( コンテナ )コンテナに保管されている値の中から最大のもの、最小のものを調べて返します。
変数 = min( コンテナ )
――ざっとこれらを使ってリスト内の要素を利用できるようになれば、ずいぶんと便利になりそうですね。下に簡単な利用例をあげておきます。リストarrに新たに値を追加したり削除したりした結果を出力しています。当初のリストとはずいぶん保管する値が変わっているのがわかるでしょう。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
arr = ['hello','bye'] arr.append('finish!') arr.insert(1, 'welcome') arr.remove('bye') for n in arr: print(n)
※関連コンテンツ