【Python】extend()で別のリスト(list)などを結合する!
(*このページは2021年2月15日に更新されました。)
Pythonで指定した別のリスト(list)などを結合するにはextend()を使用します。
extend()とはリストの末尾に別のリストやタプルなどのイテレータを結合するメソッドであり、複数のイテレータを一つのイテレータにまとめることができます。
しかし、リスト(List)以外に使用するとエラーが発生しますので注意してください。
また、extend()のパラメータに文字列を指定すると、各文字が一つの要素としてリストに結合されるようになります。
今回はPythonのextend()で別のリスト(list)などを結合する方法について以下の内容で解説していきます。
⚫︎ 別のリストを結合する場合
⚫︎ 別のタプルを結合する場合
⚫︎ 別の辞書(dict)を結合する場合
⚫︎ 別のsetを結合する場合
⚫︎ 別のfrozensetを結合する場合
⚫︎ extend()のパラメータに文字列を指定する場合
⚫︎ 二次元で別のリストなどを結合する場合
⚫︎ 三次元で別のリストなどを結合する場合
目次
extend()とは
extend()とは、リストの末尾に別のリストやタプルなどのイテレータを結合するメソッドとなります。
extend()の書き方
extend()の書き方は下記となります。
1 |
リスト.extend(イテレータブルオブジェクト) |
extend()のパラメータ
⚫︎ イテレータブルオブジェクト:
リストに結合したいイテレータブルオブジェクト(リストやタプルなど)を指定する
extend()にイテレータを指定することで、イテレータ内の要素をリストに結合した状態でリストを返すようになります。
別のリスト(list)などを結合するサンプルコード
別のリスト(list)などを結合するサンプルコードを紹介します。
別のリスト(list)を結合する場合
extend()でリストに別のリスト(list)を結合することができます。
例
1 2 3 4 5 6 7 8 9 |
print('extend()で別のリストを結合') list1 = [12, 23, 45, 56] print(list1) list2 = ['青森', '岩手', '秋田', '宮城'] print('・結合するリスト:', list2) list1.extend(list2) print('・結合後:', list1) |
出力結果
extend()で別のリストを結合
[12, 23, 45, 56]
・結合するリスト: [‘青森’, ‘岩手’, ‘秋田’, ‘宮城’]
・結合後: [12, 23, 45, 56, ‘青森’, ‘岩手’, ‘秋田’, ‘宮城’]
extend()によって別のリストが結合されています。
別のタプル(tuple)を結合する場合
extend()でリストに別のタプル(tuple)を結合することができます。
例
1 2 3 4 5 6 7 8 9 |
print('extend()で別のタプルを結合') list1 = [12, 23, 45, 56] print(list1) tuple1 = ('東京', '埼玉', '神奈川', '千葉') print('・結合するタプル:', tuple1) list1.extend(tuple1) print('・結合後:', list1) |
出力結果
extend()で別のタプルを結合
[12, 23, 45, 56]
・結合するタプル: (‘東京’, ‘埼玉’, ‘神奈川’, ‘千葉’)
・結合後: [12, 23, 45, 56, ‘東京’, ‘埼玉’, ‘神奈川’, ‘千葉’]
extend()によってリストに別のタプルが結合されています。
別の辞書(dict)を結合する場合
extend()でリストに別の辞書(dict)を結合することができます。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
list1 = [12, 23, 45, 56] print(list1) list2 = [12, 23, 45, 56] print(list2) list3 = [12, 23, 45, 56] print(list3) print('extend()で別の辞書を結合') dict1 = {1:'大阪', 2:'奈良', 3:'京都', 4:'兵庫'} print('・結合する辞書:', dict1) list1.extend(dict1.keys()) print('・辞書のキー結合後:', list1) list2.extend(dict1.values()) print('・辞書の値結合後:', list2) list3.extend(dict1.items()) print('・辞書のキーと値結合後:', list3) |
出力結果
[12, 23, 45, 56]
[12, 23, 45, 56]
[12, 23, 45, 56]
extend()で別の辞書を結合
・結合する辞書: {1: ‘大阪’, 2: ‘奈良’, 3: ‘京都’, 4: ‘兵庫’}
・辞書のキー結合後: [12, 23, 45, 56, 1, 2, 3, 4]
・辞書の値結合後: [12, 23, 45, 56, ‘大阪’, ‘奈良’, ‘京都’, ‘兵庫’]
・辞書のキーと値結合後: [12, 23, 45, 56, (1, ‘大阪’), (2, ‘奈良’), (3, ‘京都’), (4, ‘兵庫’)]
extend()でリストに別の辞書(dict)を結合しています。
また、key()で辞書のキーのみを、value()で辞書の値のみを、items()で辞書のキーと値を結合しています。
別のsetを結合する場合
extend()でリストに別のsetを結合することができます。
例
1 2 3 4 5 6 7 8 9 10 |
list1 = [12, 23, 45, 56] print(list1) print('extend()で別のsetを結合') set1 = {'福岡', '長崎', '大分', '佐賀'} print('・結合するset:', set1) list1.extend(set1) print('・結合後:', list1) |
出力結果
[12, 23, 45, 56]
extend()で別のsetを結合
・結合するset: {‘長崎’, ‘大分’, ‘佐賀’, ‘福岡’}
・結合後: [12, 23, 45, 56, ‘長崎’, ‘大分’, ‘佐賀’, ‘福岡’]
extend()でリストに別のsetを結合しています。
別のfrozensetを結合する場合
extend()でリストに別のfrozensetを結合することができます。
例
1 2 3 4 5 6 7 8 9 |
list1 = [12, 23, 45, 56] print(list1) print('extend()で別のfeozensetを結合') fset1 = frozenset({'香川', '徳島', '愛媛', '高知'}) print('・結合するfrozenset:', fset1) list1.extend(fset1) print('・結合後:', list1) |
出力結果
[12, 23, 45, 56]
extend()で別のfeozensetを結合
・結合するfrozenset: frozenset({‘高知’, ‘愛媛’, ‘香川’, ‘徳島’})
・結合後: [12, 23, 45, 56, ‘高知’, ‘愛媛’, ‘香川’, ‘徳島’]
extend()でリストに別のfrozensetを結合しています。
extend()のパラメータに文字列を指定する場合
extend()のパラメータに文字列を指定すると、各文字が一つの要素として結合されるようなります。
例
1 2 3 4 5 6 7 8 9 10 |
list1 = [12, 23, 45, 56] print(list1) print('extend()のパラメータに文字列を指定する') string1 = 'うさぎと亀' print('・結合する文字列:', string1) list1.extend(string1) print('・結合後:', list1) |
出力結果
[12, 23, 45, 56]
extend()のパラメータに文字列を指定する
・結合する文字列: うさぎと亀
・結合後: [12, 23, 45, 56, ‘う’, ‘さ’, ‘ぎ’, ‘と’, ‘亀’]
「うさぎと亀」のそれぞれの文字がextend()によって一つの要素としてリストに追加されています。
多次元で別のリスト(list)などを結合するサンプルコード
先ほどまでのextend()は一次元リストに対して別のリスト(list)などを結合していましたが、多次元リストに対してでも別のリスト(list)などを結合することができます。
二次元で別のリストなどを結合する場合
extend()は二次元リストに別のリスト(list)などを結合することができます。
今回は例として、リストを追加してみます。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
list1 = [[12, 23],[15, 13]] print(list1) print('extend()で多次元リストに別のリストを追加') list2= [[99, 99],[999, 999]] print('・結合する二次元リスト:', list2) list1.extend(list2) print('・結合後:', list1) list3= [9, 9] print('・結合する一次元リスト:', list3) list1.extend(list3) print('・結合後:', list1) |
出力結果
[[12, 23], [15, 13]]
extend()で多次元リストに別のリストを追加
・結合する二次元リスト: [[99, 99], [999, 999]]
・結合後: [[12, 23], [15, 13], [99, 99], [999, 999]]
・結合する一次元リスト: [9, 9]
・結合後: [[12, 23], [15, 13], [99, 99], [999, 999], 9, 9]
extend()で二次元リストに別の二次元リストや一次元リストを結合しています。
三次元で別のリストなどを結合する場合
extend()は三次元リストに別のリスト(list)などを結合することができます。
今回は例として、タプルを追加してみます。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
list1 = [[[12, 23],[34, 46]],[[30, 25],[90, 79]]] print(list1) print('extend()で多次元リストに別のタプルを追加') list2= (((999, 999),(999, 999)), ((999, 999),(999, 999))) print('・結合する三次元タプル:', list2) list1.extend(list2) print('・結合後:', list1) list3= ((99, 99),(99, 99)) print('・結合する二次元タプル:', list3) list1.extend(list3) print('・結合後:', list1) list4= (9, 9) print('・結合する一次元タプル:', list4) list1.extend(list4) print('・結合後:', list1) |
出力結果
[[[12, 23], [34, 46]], [[30, 25], [90, 79]]]
extend()で多次元リストに別のタプルを追加
・結合する三次元タプル: (((999, 999), (999, 999)), ((999, 999), (999, 999)))
・結合後: [[[12, 23], [34, 46]], [[30, 25], [90, 79]], ((999, 999), (999, 999)), ((999, 999), (999, 999))]
・結合する二次元タプル: ((99, 99), (99, 99))
・結合後: [[[12, 23], [34, 46]], [[30, 25], [90, 79]], ((999, 999), (999, 999)), ((999, 999), (999, 999)), (99, 99), (99, 99)]
・結合する一次元タプル: (9, 9)
・結合後: [[[12, 23], [34, 46]], [[30, 25], [90, 79]], ((999, 999), (999, 999)), ((999, 999), (999, 999)), (99, 99), (99, 99), 9, 9]
extend()で三次元リストに別の三次元タプルや二次元タプル、一次元タプルを結合しています。
今回のポイント
extend()で別のリスト(list)などを結合
Pythonでリスト(list)に別のリストなどを結合するにはextend()を使用する。
⚫︎ extend()はリスト(List)のみに使用できるメソッドである
⚫︎ extend()のパラメータにはイテレータを指定する
(リスト、タプル、辞書、set、frozensetを指定してリストに結合することができる)
⚫︎ extend()のパラメータに文字列を指定すると各文字が一つの要素としてリストに結合される
⚫︎ extend()は一次元リストだけでなく、二次元や三次元のような多次元リストも使用することができる
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。