無題のプレゼンテーション__5_

Pythonの勉強するよ【リスト編②】

どもども。最近少しずつ暖かくなってきましたね。
前回からリストについて勉強を始めました。

【前回の復習】
・リスト型は、複数の値を保持することのできる変数型
定義方法
 変数名 = [要素1, 要素2, 要素3 ]
インデックスに値を設定する際には、以下を注意する
・要素数以上の数を指定すると、エラーになる
・整数値しか設定できない
また、負の値を設定することで、要素を逆から取得することができる。
・リスト型の中には、リスト型を設定することもできる。

しばらくリストの話になると思いますが、お付き合いよろしくお願いします。

4.1.3 スライスを用いて部分リストを取得する

前回紹介した方法は、リストからインデックスを使って値を1つ取り出す方法でした。
リストでは、スライスという方法を使って、複数の値を新しくリストを作って取り出すということができます。

【スライスの使い方】
list[スライスの開始インデックス : スライスの終了 ]

スライスを使うときに注意することは、スライスの終了に設定する値です。
実際の例を見ながら確認していきましょう。

animals = ['cat', 'dog', 'rat','elephant']

print(animals[0:4])
print(animals[1:3])
print(animals[0:-1])
【実行結果】
['cat', 'dog', 'rat', 'elephant']
['dog', 'rat']
['cat', 'dog', 'rat']

普通に読むと、最初のprint文は「animalsリストのインデックス0からインデックス4までの値を取得する」のように見えますが、実は「スライスの終了」に設定した値自身は含まれません。そのため、実際にスライスでとる値は次のようになります。

【スライスで取得できる値】
list[スライスの開始インデックス]からlist[スライスの終了 - 1]までのリスト

うーむややこしい。。。
また、スライスの開始インデックスとスライスの終了は任意の値のため、省略することができます。その場合、それぞれ次のように設定されます。
スライスの開始インデックスを省略→スライスの開始インデックスに0を設定
スライスの終了→リストの長さを設定

animals = ['cat', 'dog', 'rat','elephant']
print(animals[:2])
print(animals[1:])
print(animals[:])
【実行結果】
['cat', 'dog']
['dog', 'rat', 'elephant']
['cat', 'dog', 'rat', 'elephant']

( animals[:]って意図的に使うことあるのかな? )

【Point】
スライスを使うことで、
複数の値を新しくリストを作って取り出すことができる。

【スライスの使い方】
list[スライスの開始インデックス : スライスの終了 ]

【スライスで取得できる値】
list[スライスの開始インデックス]からlist[スライスの終了 - 1]までのリスト

4.1.4 リストの長さを取得する

リストの長さを取得したいときは、おなじみのlen()関数を使うことで取得できます。

animals = ['cat', 'dog', 'rat','elephant']

print(len(animals))
【実行結果】
4

4.1.5 インデックスを用いてリスト中の値を変更する

次は、リストの値を変更する方法です。
といっても、難しくはありません。例えば、2つ目の要素の値を変更したい場合は、list[1] = 変更したい値 のように普通の代入文を使えばOKです。

animals = ['cat', 'dog', 'rat','elephant']

print(animals)
animals[2] = 'mouse'
print(animals)
【実行結果】
['cat', 'dog', 'rat', 'elephant']
['cat', 'dog', 'mouse', 'elephant']

いやいや、値を変更したいんじゃなくで、値を追加したいんだという方は別で解説するので、もう少しお待ちください。

4.1.6 del文を用いてリストから削除する

del文は、インデックスで指定した位置のリストを削除することができます。
削除した値より後ろの要素は、ひとつづつ前にずれるので注意しましょう。

animals = ['cat', 'dog', 'rat','elephant']

print(animals)
del animals[2]
print(animals)
【実行結果】
['cat', 'dog', 'rat', 'elephant']
['cat', 'dog', 'elephant']

4.1.7 リストの連結と複製

最後はリストの連結と複製の方法です。
こちらは、文字列の連結、複製の方法と同じく、+演算子と*演算子を使います。

number = [1, 2, 3]
alphabet = ['A','B','C']

print('リストの連結')
print(number + alphabet)

print('リストの複製')
print(number * 3)
【実行結果】
リストの連結
[1, 2, 3, 'A', 'B', 'C']
リストの複製
[1, 2, 3, 1, 2, 3, 1, 2, 3]

まとめ

今回は簡単な部分が多めでしたがいかがでしたか?

【まとめ】
・スライスを使うことで、複数の値を新しくリストを作って取り出すことができる。
・リストの長さを取得したいときは、len()関数を使う。
list[インデックス] = 変更したい値 でリストの値を変更できる。
del list[インデックス]  で指定した要素を削除できる。
・文字列の連結、複製の方法と同じく、+演算子と*演算子を使って、リストの連結、複製ができる。

次回はfor文とリストの組み合わせをやっていきたいと思います。ではでは。

P.S.
たまには心理学の記事とかも書こうかな。

この記事が気に入ったらサポートをしてみませんか?