Pythonはappendだけじゃない|要素を追加・配列を結合する方法7選

Python

(最終更新月:2022年11月)

✔当記事はこのような方に向けて書かれています

「リストに要素を追加する方法が知りたい!」

「appendやinsertの違いって何なんだろう?」

「リストを結合する方法が知りたい!」

✔当記事を通じてお伝えすること

  • appendについて
  • extendについて
  • insertについて

当記事では、リストに要素を追加する方法やリスト同士を結合する方法だけでなく、実際のコード実例までご紹介しています。

ぜひ最後までご覧ください。

profile_icon

【Python歴】10年 x 【営業マン歴】11年

HP作成、社内システムの構築、コンサルティング

Pythonベースのフレームワーク 「Django」を使って下記のようなサイトを作っています!

日報アプリ
当ブログで一から開発方法を解説している日報アプリ(デモ版)です
ツールアプリ
当ブログで紹介したPythonアプリのWeb版です。DjangoAPIとReactで開発。随時更新中です。

icon
icon

appendで、最後尾に要素を追加する方法

こちらではappendについての基本をお伝えします。

  • appendの基本構成・使い方
  • for文を使って複数の要素をappendで追加

appendの基本構成・使い方

appendの構成は以下のとおり。

リスト.append(追加したい要素)

例えば、数字のリストに新しい整数を追加します。

>>> nums = list(range(10))
>>> nums
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> nums.append(10) #整数「10」を追加
>>> nums
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

for文を使って複数の要素をappendで追加

複数の要素を追加したいときは、for文を使います。

append単体では、一要素ずつしか追加できません

>>> nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> tsuika_nums = [11,12,13,14,15]
>>> for num in tsuika_nums:
...     nums.append(num)
... 
>>> nums
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

for文を使えば、偶数だけ追加するような条件も入れられます。

>>> evens = [2, 4, 6, 8, 10]
>>> tsuika_nums = [11,12,13,14,15]

>>> for num in tsuika_nums:
...     if num%2==0:
...         evens.append(num)
... 
>>> evens
[2, 4, 6, 8, 10, 12, 14]

extendで、最後尾に配列を結合する方法

extendを使うと、リストを丸ごと最後尾に結合できます。

extendは、日本語訳で、拡張の意味です。

結合先のリスト.extend(結合したいリスト)

>>> list1 = list(range(5))
>>> list2 = list(range(5,11))
>>> list1.extend(list2)
>>> list1
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

+(=)で、配列を結合する方法

「+」や「+=」を使ったリストの結合方法もお伝えします。

なぜなら、「+」と「+=」は似ているようで、できることが若干異なるからです。

「+」を使うと、結合されたリストを新しく生成します。

リスト1 + リスト2

>>> evens = [2,4,6,8,10]
>>> odds = [1,3,5,7,9]
>>> evens + odds
[2, 4, 6, 8, 10, 1, 3, 5, 7, 9]
#元の「evens」と「odds」は変わらない

「+=」を使うと、どちらかのリストそのものに別のリストが結合されます。

リスト1 += リスト2

>>> evens = [2,4,6,8,10]
>>> odds = [1,3,5,7,9]
>>> evens += odds
>>> evens
[2, 4, 6, 8, 10, 1, 3, 5, 7, 9]

*で、リストを増殖する方法

「*」を使い、同じリストを繰り返し増やすこともできます。

リスト * 繰り返す回数

>>> langs = ["Python", "JavaScript"]
>>> langs * 4
['Python', 'JavaScript', 'Python', 'JavaScript', 'Python', 'JavaScript', 'Python', 'JavaScript']
>>> langs
['Python', 'JavaScript']

「*」を使っても、元のリストそのものに変化はありません。

insertで、指定位置に要素を追加する方法

insertを使うと、特定の位置に要素を追加できます。

リスト.insert(追加したい位置, 追加したい要素)

>>> l10 = list(range(10))
>>> l10
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> l10.insert(5,"new_elem")
>>> l10
[0, 1, 2, 3, 4, 'new_elem', 5, 6, 7, 8, 9]

スライスで、指定位置に要素を追加する方法

スライスを使って、要素を追加できます。

スライスを使う場合は、追加する要素は配列と見なされます

リスト[インデックス:インデックス] = 追加したい要素(配列)

>>> l5 = list(range(5))
>>> l5
[0, 1, 2, 3, 4]
>>> l5[2:2] = "sliced_elem"
>>> l5
[0, 1, 's', 'l', 'i', 'c', 'e', 'd', '_', 'e', 'l', 'e', 'm', 2, 3, 4]
>>> l5 = list(range(5))
>>> l5[2:2] = ["one", "two"]
>>> l5
[0, 1, 'one', 'two', 2, 3, 4]

indexを応用して、リスト内の要素を入れ替える方法

indexを活用すると、リスト内の要素を入れ替えられます。

indexで位置を特定し、位置指定で入れ替えるのです。

#indexを活用した関数を作ります
>>> def replacer(list, replacing_elem, new_elem):
...     index = list.index(replacing_elem) #位置を特定
...     list[index] = new_elem #入れ替え
... 

#JavaScriptフレームワークに、間違えてDjangoを入れてしまいました。
>>> JS_FRAMEWORKS = ["React", "Vue.js","Django", "Angular"]

#入れ替えの実行
>>> replacer(JS_FRAMEWORKS, "Django", "jQuery")

#入れ替え成功
>>> JS_FRAMEWORKS
['React', 'Vue.js', 'jQuery', 'Angular']

まとめ:Pythonのappendを使うと要素の追加ができる

当記事の内容をまとめます。

  • appendを使うと、最後尾に要素の追加ができる
  • extendを使って、最後尾に配列を追加できる
  • insertを使えば、特定位置に要素を追加できる

Python言語で配列に関わるメソッドはたくさんあります。

その中でもappendは使う頻度が高いものといえるでしょう。

ほかのメソッドも合わせて覚えておくことで、場面によって適切に組み合わせられるようになります。

✔当ブログは以下のような方に向けて書かれています

「Djangoでのアプリ開発を学びたい!」

「Djangoで開発したアプリをWebで公開するにはどうするの?」

✔当ブログ掲載の記事

  • Djangoで作る日報アプリ開発
  • WebアプリをWeb上に公開する方法
  • Webアプリ開発に必要なそのほかの情報
【Django】チュートリアル|日報アプリの開発から公開まで
Djangoのチュートリアルをお探しですか?具体的に「手を動かして作ってみたい!」という方へ向けて、誰でもできる簡易的な日報アプリの開発を通じて、Djangoの様々な機能に触れていくシリーズとなっています。PythonでWebアプリを作りたい方、必見の記事となります!

公式LINEも始めました。記事更新についてや、当ブログ内の人気記事などの情報を定期的に配信しています。

友だち追加

ITCブログにご協力いただける方は、以下もご検討いただけると嬉しいです。

ITCに投げ銭をする

タイトルとURLをコピーしました