サイトアイコン 天文学者のpython・音楽・お料理レシピ

python入門講座 | List型の使い方3(要素の更新・追加、リストの結合の方法)[第25回]

格納済みの要素を後で変更したり増やしたりできる柔軟性がList型変数の強みです。

Ciao!みなさんこんにちは!このブログでは主に
(1)pythonデータ解析,
(2)DTM音楽作成,
(3)お料理,
(4)博士転職
の4つのトピックについて発信しています。

今回は「アラサーOLのためのpython入門講座」です!この講座では、プログラミング初心者アラサーOLのMi坊さんに、pythonを学習する上でのアドバイスを行います!「パソコンもプログラミングも初心者だけど、プログラミングができるようになりたい!」という方のためにstep-by-stepで解説していきます。

今日はList型変数(リスト)の要素を更新する方法、要素を追加する方法、リスト同士を結合する方法を解説します。indexingやslicingで番地指定した要素の更新、append()メソッド、+演算子による要素追加とリストの結合をご紹介します。Pythonで円滑な処理を行うために必須の知識です!是非マスターしましょう!

この記事を読めば、List型変数の更新のやり方、要素の追加方法を知ることができます。ぜひ最後までお付き合いください!

Kaiko

この記事はこんな人におすすめ

  • 初心者だけどpythonを始めた!
  • pythonの基本的な使い方を知りたい!
  • 独学で学んだpythonの知識を整理したい!

Abstract | 要素の更新・追加でList型を柔軟に使おう

List型変数の特長は柔軟に使えることです。List型には、どんな型の値や変数でも要素として格納できますし、要素の更新や追加を行うことができます。Indexingで単一の番地を指定すれば、その番地に格納されている値を更新することができます。Slicingを使えば、複数の値を同時に更新することもできます。append()メソッドや+演算子を使うことで、新たに要素を追加することもでき、さらにはリスト同士を結合することもできます。



Method | リストの要素の更新・追加方法

List型変数の要素を更新したり、新しい要素やリストを追加する方法を解説します。実際に手を動かしながら学んでいきましょう!Jupyter Notebookを立ち上げてコーディングしながら読み進めてください。練習問題の後にコーディング例も掲載しますので、やってみてどうしてもわからなければそれを見て進めてみてください。

準備 | python notebookの新規作成

まずはpython notebookを用意しましょう。いつものpython_practiceのディレクトリに「practice_list_append」という名前のpython notebookを作成してください。ターミナルを立ち上げて~/python_practiceに移動、jupyter notebookを起動し、ブラウザから新規→Python3でpython notebookを開いて、ファイル→リネームでファイル名を決定します。
もしやり方がわからなければ、過去記事「python入門講座|pythonを使ってみよう2(Jupyter Notebookを使う方法)」などで詳しく解説しているので、これらを見ながらやってみてください。

python notebookを起動したら、適宜Markdownセルに説明書きを加えながら下記の説明に沿ってコードを書いて実行していきましょう。Markdownセルやコードセルなどの用語やこれらの使い方は過去記事「python入門講座|pythonを使ってみよう2(Jupyter Notebookを使う方法)」を参照してください。練習問題の後にpython notebookの例を掲載します。もし書き方がわからなければそちらを見てください。



Indexingで単一の値を更新する方法

単一の値を更新する場合、indexingで更新したい要素の番地を指定し、=演算子で値を代入します。Indexingについての詳細は過去記事「python入門講座 | List型の使い方2(リストから値を取り出すインデックスとスライス)」をご覧ください。以下の例を実行してください。

# define a list variable
var_list = [1,2,3,4,5]

# change 0th element
var_list[0] = 'A'

# print the list
print(var_list)   # ['A', 2, 3, 4, 5]

# changee -2-th element
var_list[-2] = 'D'

# print the list
print(var_list)   # ['A', 2, 3, 'D', 5]

1つ目のprint()関数で「[‘A’, 2, 3, 4, 5]」が、2つ目で「[‘A’, 2, 3, ‘D’, 5]」が出力されます。「var_list[0] = ‘A’」で最初の要素が文字列Aに更新されます。「var_list[-2]」は後ろから2番目の要素なので、4という数字が文字列Dに変更されます。

Slicingで複数の値を更新する

複数の値を一気に更新することもできます。Slicingで複数要素を指定し、=演算子でリストを代入することで、それらをまるごと更新できます。Slincingについての詳細は過去記事「python入門講座 | List型の使い方2(リストから値を取り出すインデックスとスライス)」をご覧ください。次の例をやってみましょう。

# define a list variable
var_list = [1,2,3,4,5]

# change 1st to 3rd elements
var_list[1:4] = ['b', 'c', 'd']     # change 3 elements

# print the list
print(var_list)   # [1, 'b', 'c', 'd', 5]

# chage -2th to -1th elements
var_list[-2:] = ['D', 'E']     # change 3 elements

# print the list
print(var_list)   # ['1', 'b', 'c', 'D', 'E']

1つ目のprint()関数で「[1, ‘b’, ‘c’, ‘d’, 5]」、2つ目で「[1, ‘b’, ‘c’, ‘D’, ‘E’]」が出力されます。「var_list[1:4] = [‘b’, ‘c’, ‘d’]」で[2, 3, 4]という要素が[‘b’, ‘c’, ‘d’]に更新されています。「var_list[-2:] = [‘D’, ‘E’]」で[‘d’, 5]が[‘D’, ‘E’]に更新されています。



append()メソッドで要素を追加する方法

append()メソッドを用いて、リストの末尾に要素を一つ追加することができます。メソッドは、変数の後に.(ピリオド)を打って使います。append()メソッドの場合、

List型変数.append(追加したい要素)

のように変数の後に.(ピリオド)appendと書きます。以下の例をやってみましょう。

# define a list variable
var_list = [1,2,3,4,5]

# append an element
var_list.append('f')

# print the list
print(var_list)   # [1, 2, 3, 4, 5, 'f']

var_listの末尾に文字列fが追加されるので、出力は「[1, 2, 3, 4, 5, ‘f’]」となります。

+演算子を用いて要素を追加する方法

+演算子を使うとリストの結合を行うことができます(後述)。これを利用して要素を追加することもできます。この場合は複数要素を追加することもできます

List型変数_追加後 = List型変数_追加前 + 追加したいリスト

のように、追加したい要素をリストとして+演算子で追加します。以下の例をやってみましょう。

# define a list variable
var_list = [1,2,3,4,5]

# append an element
var_list = var_list + ['f']

# print the list
print(var_list)   # [1, 2, 3, 4, 5, 'f']

# append 3 elements
var_list = var_list + ['g', 'h', 'i']

# print the list
print(var_list)   # [1, 2, 3, 4, 5, 'f', 'g', 'h', 'i']

単一の要素を追加する場合でも[‘f’]のようにリストにしてから追加するのがポイントです。出力は[1, 2, 3, 4, 5, ‘f’]と [1, 2, 3, 4, 5, ‘f’, ‘g’, ‘h’, ‘i’]となります。

+= 演算子でシンプルに記述する

+=を使えばもっとシンプルに記述することができます。

List型変数 += 追加したいリスト

とすれば

List型変数 = List型変数 + 追加したいリスト

と同じことができます。以下の例をやってみましょう。

# define a list variable
var_list = [1,2,3,4,5]

# append an element
var_list += ['f']

# print the list
print(var_list)   # [1, 2, 3, 4, 5, 'f']

# append 3 elements
var_list += ['g', 'h', 'i']

# print the list
print(var_list)   # [1, 2, 3, 4, 5, 'f', 'g', 'h', 'i']

結果は先程と同様です。

リストを結合する方法

+演算子を使って、複数のリストを結合することができます。以下の例をやってみましょう。

# define 2 list variables
var_list1 = [1,2,3,4,5]
var_list2 = ['a', 'b', 'c']

# concatenate the lists
var_lists = var_list1 + var_list2

# print the list
print(var_lists)   # [1, 2, 3, 4, 5, 'f']

2つのリストが結合され[1, 2, 3, 4, 5, ‘f’]と出力されます。



Result | 練習問題

最後に練習問題です。以下の処理を行うコードを書いてみてください。

  1. 変数var_listにApple, iPad, iPhoneの3つの文字列をlistとして代入してください。
    var_listの最初の要素をMacに更新し、print()関数でvar_listを出力してください。
  2. 変数var_listの末尾に文字列Watchをappend()メソッドで追加し、print()関数でvar_listを出力してください。
    さらに、var_listの末尾に文字列iPodを+演算子で追加し、print()関数でvar_listを出力してください。
  3. 変数num_listに1, 2, 3, 4, 5の4つの整数をlistとして代入してください。
    num_listをvar_listの末尾に追加し、print()関数でvar_listを出力してください。

練習問題の回答例

できたら回答例を確認しましょう!下の画面をスクロールすると回答例が見られます!参考にしてみてください。また、今回の記事で出てきた他のコードも載っているので参考にしてください!

練習問題おつかれさまでした!
今日はここまでです。Python Notebookを終了しておきましょう。もしPython Notebookを終了方法がわからなければ過去記事「python入門講座|pythonを使ってみよう2(Jupyter Notebookを使う方法)」の「Python Notebookの起動・終了方法」の章を参照してください!



Conclusion | まとめ

最後までご覧いただきありがとうございます!
今回はlist型変数の値を更新する方法、list型変数に値を追加する方法を解説しました。インデックスやスライスで値を更新したり、append()や+演算子で要素を追加する処理は頻出です。ぜひマスターしましょう!

以上「python入門講座 | List型の使い方3(要素の更新・追加、リストの結合の方法)」でした!
またお会いしましょう!Ciao!



References | 参考

以下の教科書を参考にして進めています!より詳しく学びたい方は購入して読んでみてください!

Pythonの参考教科書

モバイルバージョンを終了