Python リストについて

Python リストについて

pythonのリストについての記事です。
リストとは配列です。
下記の順番で解説します。
※実行環境:Python 3.8.8 win10 64bit

  1. リストの作り方
  2. リストに追加する
  3. リストの要素を削除
  4. リストの要素を参照
  5. リストの要素を検索
  6. リストの内包表記

1.リストの作り方

[ ] でリストを作成することができます。
例えば
name = [“tanaka”,”yamada”,”yoshida”,”suzuki”]
表示させたいなら
print(name)
print(type(name))で型を調べることができます。
実行結果は下記になります。

number = [1,2,3,4,5,6]
print(number)
print(type(number))
実行結果は下記になります。

2.リストに追加する

name = [“tanaka”,”yamada”,”yoshida”,”suzuki”]
にsatoを追加したいとします。

name.append(“sato”)
print(name)

append()はリストの最後尾に追加されます。
そのため先頭に要素を追加したい場合は
name.insert(0,”aikawa”)
print(name)

3.リストの要素を削除

name = [“tanaka”,”yamada”,”yoshida”,”suzuki”]
このリストからtanakaを削除したいとします。
name.pop(0)
print(name)

name = [“tanaka”,”yamada”,”yoshida”,”suzuki”]
このリストからyamadaを削除したいとします。
name.pop(1)
print(name)

popメソッドは戻り値があります。
このような使い方も可能です。

name = [“tanaka”,”yamada”,”yoshida”,”suzuki”]
person = name.pop(0)
print(person)
print(name)

※ただしnameリストからtanakaが削除されていることに注意してください。

4.リストの要素を参照

name = [“tanaka”,”yamada”,”yoshida”,”suzuki”]
print(name[0])
print(name[0:2])
print(name)

※popメソッドと異なりnameリストの変更はありません。

5.リストの要素を検索

ある要素があるかないかを調べたいとします。
name = [“tanaka”,”yamada”,”yoshida”,”suzuki”]
のnameリスト内にyoshidaがあるかないかを調べる場合です。

print(name.count(“yoshida”))

1と表示されました。
これは指定された要素が1個あるという意味です。
print(name.count(“miyagi”))はどうでしょうか?

0となり、miyagiはないことになります。

それでは指定された要素が何番目にあるか?
を調べたい場合です。
name = [“tanaka”,”yamada”,”yoshida”,”suzuki”]
において
print(name.index(“suzuki”))

3となって3番目ということがわかりました。
もしないものを指定したら
print(name.index(“akagi”))

以上のようにエラーとなります。

6.リストの内包表記

number = list(range(0,11))
print(number)

以上のようにlist()でリストの作成が可能です。

number = [i for i in range(0,11)]
print(number)

ここから奇数だけをリストに格納してみます。
if文を使います。
number = [i for i in range(0,11) if i % 2 != 0]
print(number)

偶数だけを表示したい場合です。
number = [i for i in range(0,11) if i % 2 == 0]
print(number)

if elseも利用できます。
例えば偶数なら偶数を入力して奇数ならそのままの数字を入力します。
number = [“偶数” if i % 2 == 0 else i for i in range(0,11)]
print(number)