![無題のプレゼンテーション__5_](https://assets.st-note.com/production/uploads/images/20906530/rectangle_large_type_2_053c02445c436062f3d2bf52af53935a.jpg?width=1200)
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.
たまには心理学の記事とかも書こうかな。