概要
実現方法・説明
ここでは既存のリストとリストを結合する方法を説明する。
extend()を使う
extend()を使えば複数の異なったリストを1つにすることが出来る。
こんな感じ。
new_list.extend(other_list)
これでリスト「new_list」と「other_list」が結合される。
このとき「new_list」の内容は、2つのリストの要素をすべて含むリストになるが、その結果「other_list」が消えてしまうわけではなく、もとのままの値で残ることに注意。
+を使う
リストの結合には、+を使用する方法もある。
こんな感じ。
new_list = New_list + other_list
この場合の結果は、直近に説明したextend()の内容と同様。
注意点
append()の引数にリストを指定しても、リストの結合は行われないので注意。
(引数に指定したリストが、もとのリストの要素のひとつになるだけ)
使用例
動作確認環境:Python3.6.5 / macOS 10.15.6
ex.1 extend()を使ったリストの結合
最初に結合対象とするリストを2つ作成し、結合する。
内容を表示しながら見ていこう。
コード
new_list = ['111', '222', '333'] other_list = ['AAA', 'BBB'] print('--- 結合前 ---') print("内容 new/other") print(new_list) print(other_list) new_list.extend(other_list) print('--- 結合後 ---') print("内容 new/other") print(new_list) print(other_list)
実行結果
— 結合前 —
内容 new/other
[‘111’, ‘222’, ‘333’]
[‘AAA’, ‘BBB’]
— 結合後 —
内容 new/other
[‘111’, ‘222’, ‘333’, ‘AAA’, ‘BBB’]
[‘AAA’, ‘BBB’]
解説
1行めで、要素が3つのリスト「new_list」を作成する。
2行めで、要素が2つのリスト「other_list」を作成する。
9行めで、作成した2つのリストを結合する。ここでは「new_list」に「other_list」が結合しているので、「new_list」の内容が変更され要素は5つになる。なお「other_list」の内容は変わらない。
ex.2 +を使ったリストの結合
最初に結合対象とするリストを2つ作成し、結合する。
ex.1との違いは、extend()ではなく+を使用していることだ。
内容を表示しながら見ていこう。
コード
new_list = ['111', '222', '333'] other_list = ['AAA', 'BBB'] print('--- 結合前 ---') print("内容 new/other") print(new_list) print(other_list) new_list = new_list + other_list print('--- 結合後 ---') print("内容 new/other") print(new_list) print(other_list)
実行結果
— 結合前 —
内容 new/other
[‘111’, ‘222’, ‘333’]
[‘AAA’, ‘BBB’]
— 結合後 —
内容 new/other
[‘111’, ‘222’, ‘333’, ‘AAA’, ‘BBB’]
[‘AAA’, ‘BBB’]
解説
1行めで、要素が3つのリスト「new_list」を作成する。
2行めで、要素が2つのリスト「other_list」を作成する。
9行めで、作成した2つのリストを結合する。ここでは「new_list」に「other_list」が結合して「new_list」にしているので、「new_list」の内容は変更されて要素は5つになるが「other_list」の内容は変わらない。(変数の加算と同じ)
ex.3 +を使ったリストの結合2
結合後も元のリスト(この場合、new_listとother_list)の要素を保持して置きたい場合がある。この場合も+を使って処理するとよい。結合の結果を新しいリストとすればいいのだ。
内容を表示しながら見ていこう。
コード
new_list = ['111', '222', '333'] other_list = ['AAA', 'BBB'] print('--- 結合前 ---') print("内容 new/other") print(new_list) print(other_list) result_list = new_list + other_list print('--- 結合後 ---') print("内容 new/other/result") print(new_list) print(other_list) print(result_list)
実行結果
— 結合前 —
内容 new/other
[‘111’, ‘222’, ‘333’]
[‘AAA’, ‘BBB’]
— 結合後 —
内容 new/other/result
[‘111’, ‘222’, ‘333’]
[‘AAA’, ‘BBB’]
[‘111’, ‘222’, ‘333’, ‘AAA’, ‘BBB’]
解説
1行めで、要素が3つのリスト「new_list」を作成する。
2行めで、要素が2つのリスト「other_list」を作成する。
9行めで、作成した2つのリストを結合する。ここでは「result_list」に「new_list」と「other_list」の結合結果をセットしているので、「result_list」の内容が変更され要素は5つになる。そして「new_list」「other_list」の内容は変わらない。
補足
なし
Pythonバンザイ