カテゴリー
Python

リストについて知ろう

この章ではリストについて説明します。
変数は1つのデータだけを代入することができました。
つまり、他のデータを入れようとすると上書きされて、前のデータは消えてしまうことは説明しましたね。
変数とは違って、リストは複数のデータをまとめて入れることができます。
リストは他の言語で使われる配列と同じ意味になります。
普通の変数では以下のように別々の変数名でそれぞれのデータを入れなければいけません。
これらの複数の変数は一見して繋がっているように思われますが、コンピュータのメモリ上では全く別の変数になります。9 しかし、リストを使うと以下のように一つの変数に複数の要素を入れることができます。
リストに入っているデータはお互いに関係性を持って存在しています。
このように関係のある複数のデータはリストとして1つの変数にまとめれば便利です。9 リストの構文は以下の通りです。9 「[ ]」の中の要素をカンマ区切りで入れていきます。
要素とはリストで使うデータと同じ意味です。
先ほどのリストの例は2行で書いていますが、1行で書ききれない場合には2行で書いてもいいです。
リストの要素には違う種類の型も混ぜて入れることが出来ます。
例えば9のように数値型と文字列型を混ぜて入れることも出来ます。

次にリストの添え字について説明します。
例をみてみましょう。9 結果は次の通りです。9 animal[0] を例に取ると9の中に入っている数値である0のことを添え字と言います。添え字とはリストの中の1つ1つのデータがリストの中でどこに位置しているのかを管理する番号です。
例えば、コインロッカーに荷物を預ける場合には必ずロッカーには番号が付いています。
この番号があるからこそ、どこに自分の荷物があるのかが分かるわけです。
ですので、添え字とはリストの中の1つ1つのデータがリストの中でどこに保管されているのかを管理する番号だと考えてください。
ではリストの中のデータを添え字を使って取得する方法について説明します。
リストの中のデータは以下の構文で取得できます。9 この構文で指定したリストの中身を取得することが出来ます。
では先ほどの例で添え字について説明します。9 初めにこのリストに入っているデータを管理する添え字は0から始まっていると頭に入れてください。
添え字は1から始まっているわけではないので、注意してください。9999 次にリストのデータを出力する方法について説明します。
リストからデータを出力するには以下の構文で書きます。9 例えば9と書きますと猫が出力されます。
つまりanimal[0]には猫と言うデータが入っています。
このようにカッコ[ ]の中に添え字を入力するとそれに応じた要素をリストから取得することができます。
また添え字にはマイナス値を指定することもできます。
例えば animal[4] は9と同じ意味になります。
つまり、添え字のマイナス指定の場合はリストの末尾から-1,-2..と添え字を指定します。

では例をみてみましょう。9 末尾から-1,-2..と、添え字を指定するので-1はネズミになります。
一番前の猫の添え字は-5になります。
結果は次の通りです。9
次はリストの要素を書き替える方法について説明します。9 「animal[4]」にはネズミが入っていますが、この要素を他のデータで書き替えたいのであれば以下のように指定の添え字に新たなデータを入れます。9 これでネズミと言う要素はシマウマという要素で上書きされたことになります。
次は連続した数値をリストの要素にする場合の便利な書き方について説明します。
では例をみてみましょう。9 この例のように9と、9個の要素を1つ1つ書くのは面倒です。
そこで、これをrange関数で書き替えると簡単に書くことができます。
では例をみてみましょう。9 説明を始めます。99 range関数の引数に開始の数値と終わりの数値を書きます。
この例のrange関数は9と同じ意味になります。
ここで気を付けてほしいことは例の終了番号は10と書いていますが10はリストの要素には入りません。
終了番号の一つ手前までが要素になりますので9までになります。
9と同じリストを作りたいのであれば9と言う形式で9と、書いてください。
終了番号だけを書いた場合は0から終了位置の一つ手前の要素までになります。
次はrange関数の引数を以下のように3つ書いた時の動きを説明します。9 では例をみてみましょう。99 第 3引数の「増やす単位」とは開始番号から終了番号までの数値の中でいくらの単位で増やすのかを指定します。
このリストの意味は5から9までの範囲以内で2ずつ増やしていくと言う意味です。
結果は次の通りです。9

カテゴリー
Python

文字列から任意の一文字を取得しよう

この章では文字列から指定した文字を取り出す方法について説明します。
では例をみてみましょう。9 文字列のgoodから一文字を取得するには9と言う形式で書く必要があります。
例えば「g」を取得したいのであれば9と書きます。
添え字とは文字列の中のそれぞれの文字がどこに位置しているのかを管理する番号です。
例えば、コインロッカーに荷物を預ける場合には必ずロッカーには番号が付いています。
この番号があるからこそ、どこに自分の荷物があるのかが分かるわけです。
ですので、添え字は文字列の一文字一文字がどこに保管されているのかを管理する番号だと考えてください。9 添え字の0 は文字列の先頭の文字
添え字の1は文字列の前から二番目の文字
添え字の2は文字列の前から三番目の文字
添え字の3は文字列の前から四番目の文字
を意味します。
添え字は1から始まっているのではなく、0から始まっていますので注意してください。
結果は以下の通りです。9 また、添え字にはマイナス指定もすることができます。9 マイナス指定の場合は末尾から前に向かって9と数えますが、マイナス指定の場合は0からではありません。9 結果は以下の通りです。9 次は文字列から一文字ではなくて複数の箇所をまとめて取得する方法について説明します。9 文字列から複数の文字を取得するには9という形式で記述します。
この意味は始めの添え字から終わりの添え字の1つ前までの要素を取得すると言うことです。
9は一見するとgooまでを示しているかのように思われますが、終わりの添え字の1つ前までの要素を取得するのでgoまでです。
結果は以下の通りです。9 では次の例をみてみましょう。9 文字列から複数の文字を取得するには以下の構文でも書くことができます。9 これは「始めの添え字」を省略した書き方ですが、始めの添え字を省略した場合は先頭の文字から終わりの添え字の1つ前までの文字列を取得することになります。
結果は以下の通りです。 9

カテゴリー
Cシャープ

配列についてを知ろう

この章では配列について説明します。普通の変数は1つしかデータを入れることができません。
つまり、他のデータを入れようとするとデータが上書きされてしまいますが、配列は複数のデータをまとめて入れることができます。
変数と配列の違いを見比べてみましょう。11 11変数の例では1 のように3つの変数が記述されていますが、この3つの変数はお互いに関連しているように見えますが、メモリ上はまったく関連のない別々の変数です。
これを関係性を持たせて、ひとまとめで扱いたい場合は配列を使います。
例えば人の身長、体重、年齢などをお互いに関連させて管理したい場合には配列を使います。
これを変数で1つ1つバラバラに扱うより分かりやすくなります。111111111添え字についてのイメージが湧くように、もう少し説明します。
例えばコインロッカーに荷物を預けるときには番号が振ってあるロッカーに荷物を入れますが、この番号が振ってあるおかげで自分の荷物がどこにあるのかが分かるわけです。
添え字も考え方は同じです。
つまり、添え字は配列のデータがどこに入っているのかを管理する番号です。
そして、その添え字という管理番号は1からではなく、0から始まっています。1 次に配列を作成した後、何もデータを入れなかった場合、どうなるのかをみてみましょう。1 結果は以下の通りです。1 111次の例は「配列の作成」と「初めにデータを入れる作業」を簡単に記述する方法です。
では例をみてみましょう。1 111次は参考までにstringで配列を作ります。
では例をみてみましょう。1 配列で文字列を扱う場合、配列の型名はString[]です。
結果は以下の通りです。1 次は配列に要素が何個入っているのかを調べる方法について説明します。1 1次は配列を別の配列にコピーする方法について説明します。11111

カテゴリー
JavaScript

配列について知ろう

この章では配列について説明します。
普通の変数は1つしかデータを入れることができません(他のデータを入れようとするとデータが上書きされてしまう)が、配列は複数のデータをまとめて入れることができます。
複数のデータを扱う場合、普通の変数では以下のように別々の変数名でそれぞれのデータを入れなければいけませんが、配列を使うと1つの変数名で複数のデータを入れることができます。1 同じ目的で使用するデータは1つにまとめてしまい、1つの変数名で複数のデータを管理できると便利です。
このような時に配列を使用します。
では例をみてみましょう。111 配列の基本構文をみてみましょう。1 [ データ1, データ2,データ3 … ]の部分を配列リテラルと言います。
この例では紙面の都合で配列を2行で書いていますが1行で書いてもいいです。
この例では数字と文字列が混在した1 という4つの要素を持ったperson配列を作成しています。
この他にも配列リテラルには数字だけの1 という形式、
文字列だけの1 という形式など様々な形式で書くことが出来ます。
まだ何も入れたいデータが決まっていないのならば1 のようにカラの要素で配列を作ってから,後で要素を入れていくということも可能です(これは次の例文で説明します)。

次に配列にデータを入れる方法について説明します。1 [ ]の中に入っている数値を添え字またはインデックスと言います。
添え字とは配列に入っているデータがどこに保管されているのかを管理する番号です。
例えばコインロッカーに荷物を預ける場合、必ずロッカーには番号が振ってあります。
この番号があるからこそ、自分の荷物がどこにあるのかが分かるわけですが、添え字も同じ考えです。
つまり、添え字で配列のデータがどこに保管されているのかを管理します。
この例の配列の1番前の添え字0には1が入っていて、配列の前から2番目の添え字1には1が入っていて、配列の前から3番目の添え字2には1が入っていて、配列の前から4番目の添え字3には1が入っています。1 添え字は0から順番に番号が付けられていきます。
1から数えるのではないので注意してください。
もう一度繰り返します。
配列の1番前、つまり1には1という要素が入っていて、配列の前から2番目、つまり1には1という要素が入っていて、配列の前から3番目、つまり1には1という要素が入っていて、配列の前から4番目、つまり1には1という要素が入っています。
そして、5番目の要素として1のように要素を代入しています。
このように後からでも配列に対してデータを追加することが出来ます。
つまり、例の配列は1 と同じ意味になります。
補足ですが、この例での添え字の最大値は4です。
つまり、この例の配列の要素数である5と添え字の最後の添え字である4は1つのずれがあるので注意してください(添え字は0から数えるので当たり前ですが)。

次は配列の要素を出力する方法について説明します。
「配列名[添え字] 」という構文で1などで出力すると添え字で指定した配列の要素を出力できます。
例えば
document.write(person[3]);1に入っている要素である234を出力します。
document.write(person[4]);1に入っている要素である島田を出力します。
次の例はカラの配列を作ってから、要素をそれぞれ代入しています。1 初めに、var person=[];のように要素が入っていないカラの要素を作ります。
それから、以下のようにそれぞれデータを入れていきます。1 結果は初めの例と同じです。
最後に3点補足します
①配列の要素には変数も指定することが出来ます。1
②次の例のように要素が4つしかない配列に、添え字が8の要素に対してデータを代入したらどうなるでしょうか?1 「person[8]=”島田”;」で添え字8の要素に1を代入することで、9つの要素を持つ配列が作成されたことになります。
では添え字が4から7の要素はどうなるでしょうか?
例を実行してもらうと解りますが、undefinedが出力されます。
undefinedは未定義値と言う意味です。
結果は以下の通りです。1
③次は先ほどとは違う形式で配列を作成します。
Arrayクラスのオブジェクトを使います。
オブジェクトの意味はまだ説明していないので、形だけ覚えてください。
Arrayクラスのオブジェクトで配列を作成する基本構文は3つあります。1
では1のパターンから説明します。1 では説明を始めます。
初めに1のようにカラの要素を持つ配列を作ります。
(var person=[];と同じ)
後はperson[0]=”芥川”;のようにデータを入れていきます。

次は2のパターンです。1 配列の要素を5個作成するので1と記述しています。
つまり、カッコの中の数値は配列の要素数を入れます。
後は1のパターンと同じようにデータを入れていきます。

次は3のパターンです。1 この形式では以下のように直接1の中に要素を書き込んでいきます。1 これは以下の配列と同じ意味です。1

カテゴリー
Perl

配列について知ろう

この章では配列について説明します。
普通の$bookのような変数は1つしかデータを入れることができません。
つまり、変数は他のデータを入れようとするとデータが上書きされてしまいます。
それに対して配列は複数のデータをまとめて入れることができます。
複数のデータを扱う場合、変数では以下のように別々の変数名でそれぞれのデータを入れなければいけません。1 配列を使うと以下のように1つの配列名@animalで複数のデータを入れることができるのです。1 @animalの中には1がお互い関係性を持って存在していると言えます。
この例のように同じ目的で使用するデータは1つにまとめてしまい、1つの配列で複数のデータを管理できると便利です。
このような時に配列を使用します。1 配列を扱う時には配列名の前にアットマーク@ を付けます。
そして右辺はカッコの中をカンマで区切って要素を入力していきます。
例えば1のようにデータをカッコで囲んで、カンマ区切りで複数のデータを作っていきますが、このようなデータをリストと言います。そのリストを左辺の配列名に入れます。例えば以下のように作成します。1この配列に入っているデータは「添え字」といわれるもので管理します。
添え字とはデータが保管してある場所の概念で、0から番号が付けられていきます。
例えばコインロッカーには番号が付いていますが、番号が付いているからこそ、どこに自分の荷物があるのか分かりますが、これと同じで配列のデータは添え字で管理します。1 この$animalの右についてる[0]や[1]が添え字です。
リストの中の個別のデータを指し示すためには@animal[0]ではなく$animal[0]と書きます。
つまり、先頭の記号は@ ではなく$です。
例えば「print $animal[0];」で出力すると「猫」が出力できます。1先ほども説明しましたが、添え字は0から順番に番号が付けられていきます。
配列の一番先頭のデータに対応する添え字は1ではなく0です。
では1を例に取って配列について、さらに詳しく説明します。1 上の配列文は以下のように書く事も出来ます。1 qwはデータ間をスペースやタブなどの空白文字で区切ったリストを作成する演算子です。
qw演算子の中の文字列はシングルクォートで囲まれたものとみなされるので、文字列を囲う必要はありません。1111
@animal1と@animal2のリストから、新しい配列@animal3
を作成しています。
結果は1です。1 以下の例のように新しい配列@animal3を作成した後に@animal1や@animal2の内容が変化しても@animal3には影響しません。
以下の例のように@animal3を作成した後に@animal2に龍を加えても、@animal3には影響がありません。
結果は変わらず「猫 犬 ライオン 象 ネズミ コアラ ネッシー」です。1 1例の中のコメントのしてある箇所11と同じことを意味しています。
リストの中にある「..」を範囲演算子と言います。
例えば(1..100)は1から100までを意味しています。
実際、1から100までをリストに書いていくことは効率が良くないので、このような場面で範囲演算子を使用します。11 11添え字は0から順番に番号が付けられていきます。
2つの配列の対応関係を図にしたので参考にしてみてください。1 もっと詳しく対応関係を説明しますと以下のようになります。1 以下の構文でも配列の要素にデータを入れることが出来ます。1 今までは以下のように1個1個配列に値を入れていましたが、上の配列の基本構文でも配列にデータを入れることが出来ます。1 先ほどの構文では以下のようにデータを入れていきます。1 これはリストを使ったデータの代入の仕方です。
この構文であれば右辺のリストの要素を一気に左辺の変数に代入することが出来ます。
右辺のリストの要素数のほうが、左の変数より多い場合は、余った値は捨てられます。
では例をみてみましょう。1 結果は「猫犬」です。
この例の場合は余った狸は捨てられます。
逆に右辺のリストの要素数のほうが、左の変数より少ない場合は余った変数には未定義値であるundefが代入されます。
undefとは変数などが未定義な状態を言います。
undefは何も入っていないのでprintで出力しても画面には現れません。1 基本構文は以下の通りです。1 では例をみてみましょう。1 この例では猫が$aに,犬が$bに,ライオンが$cにそれぞれ入ります。
結果は「猫,犬,ライオン」です。
この例はリストを使った以下の方法と同じ意味です。1111配列のデータを変更するには11のように新たなデータを代入するだけです。
これで古い要素である猫、犬が上書きされて新しいデータであるキリン、パンダに上書きされます。1 配列の要素を出力するには以下の構文で書きます。1 では例をみてみましょう。
以下の通り、添え字に相当するデータを取り出すことが出来ます。
1
次は配列全体の要素を出力する方法について説明します。1 今までは個別に
print $animal[1];
print $animal[2];
と出力していましたが、配列の要素を一気にすべてを出力させたい場合には以下のように記述します。1 この2種類の出力方法の差は何かといいますと配列をダブルクォートで囲んでいるか、囲んでいないかの差です。
結果は以下のようになります。1 ダブルクォートで囲んだ方はデータ間がスペースで区切られます。
ダブルクォートで囲まないとデータ間にスペースが生まれないので、連なって出力されます。1 例えば下の配列を初期化したい場合、つまり要素を消したい場合は以下のようにカラのリストを代入します。
空にしますとそれ以降は出力することはできません。11