今回はリストの使い方について記事にしたいと思います。
メモ書き程度のつもりなのであまり詳しい解説はしません。
ただ、こんな使い方があるってことだけ記載していきます。
自分用のメモ書きですが、誰かの参考になれば幸いです。
Contents
for文で中身を出力
リストの中身を順番に見て行く場合にfor文を使用します。
他の言語と同じ使い方です。
1 2 3 4 5 6 7 8 9 |
test_list = ['python_1-1', 'python_1-2', 'python_2-1', 'python_2-2'] #forで取り出し for test in test_list: print(test) #python_1-1 #python_1-2 #python_2-1 #python_2-2 |
リスト内包表記
これを使えるとPython上級者!!!とかどこかのブログに記載されていましたが、
デバッグしにくくなるの可能性があります。
多人数プロジェクトで使用する場合はコーディング規約に沿って使用してください。
『めっちゃ読みやすいじゃん!?』とか思う方、プロジェクトに参加する人がみんなそう思うとは限りません(笑)誰にも一切公開しないというなら多用してもいいと思います。
1 2 3 4 5 6 7 |
test_list = ['python_1-1', 'python_1-2', 'python_2-1', 'python_2-2'] #内包表記(python_1-1,python_1-2のリスト) python_1_list = [test for test in test_list if not re.match('python_1', test) is None] print(python_1_list) #['python_1-1', 'python_1-2'] |
リストの追加
リストの要素追加のやり方です。
1 2 3 4 5 6 7 8 |
test_list = ['python_1-1', 'python_1-2', 'python_2-1', 'python_2-2'] # 追加 test_list.append('python_3-1') test_list.append('python_3-2') print(test_list) #['python_1-1', 'python_1-2', 'python_2-1', 'python_2-2', 'python_3-1', 'python_3-2'] |
番号を指定しての追加
既に作成されているリストに場所を指定して追加する方法です。
1 2 3 4 5 6 7 8 |
test_list = ['python_1-1', 'python_1-2', 'python_2-1', 'python_2-2'] #番号を指定しての追加 test_list.insert(2, 'python_1-3') test_list.insert(5, 'python_2-3') print(test_list) #['python_1-1', 'python_1-2', 'python_1-3', 'python_2-1', 'python_2-2', 'python_2-3'] |
要素を指定しての削除
既に作成されているリストに対して不要な要素を指定して削除する方法です。
1 2 3 4 5 6 7 |
test_list = ['python_1-1', 'python_1-2', 'python_2-1', 'python_2-2'] #削除 test_list.remove('python_1-2') print(test_list) #['python_1-1', 'python_2-1', 'python_2-2'] |
番号を指定しての削除
既に作成されているリストを番号指定して要素を削除する方法です。
popは削除した要素を戻り値として受け取ることもできます。
1 2 3 4 5 6 7 8 9 10 |
test_list = ['python_1-1', 'python_1-2', 'python_2-1', 'python_2-2'] #番号を指定しての削除 pop_value = test_list.pop(1) print(test_list) #['python_1-1', 'python_2-1', 'python_2-2'] print(pop_value) #python_1-2 |
要素の全削除
既に作成されているリストの中身を空にしたいときに使用する方法です。
1 2 3 4 5 6 7 |
test_list = ['python_1-1', 'python_1-2', 'python_2-1', 'python_2-2'] #要素の全削除 test_list.clear() print(test_list) #[] |
要素の番号を取得する
実はこれ、最近まで知らなかった(笑)といっても現場でPython使うって聞いてから勉強し始めたからまだ1か月くらい。。。
まだまだ知らないことがたくさんあります。
ちなみに要素番号は0から始まります。
他の言語経験者の方は当然と思うかもしれませんが。
1 2 3 4 5 6 7 |
test_list = ['python_1-1', 'python_1-2', 'python_2-1', 'python_2-2'] #要素の番号を取得 index = test_list.index('python_2-1') print(index) #2 |
要素数を取得
リストに対してしか使えないわけではありませんが、使う頻度が高いので記載しておきます。
1 2 3 4 5 6 7 |
test_list = ['python_1-1', 'python_1-2', 'python_2-1', 'python_2-2'] #要素数を取得 count = len(test_list) print(count) #4 |
試しに辞書型でも使用してみました。
1 2 3 4 5 |
test_map = {'1': 'python_1', '2': 'python_2', '3': 'python_3', } count = len(test_map) print(count) #3 |
タプルでも同じです。
1 2 3 4 5 |
test_tuple = ('python1','python2') count = len(test_tuple) print(count) #2 |
同一要素数を取得
既に作成されたリストに指定された要素がいくつあるのか取得する方法です。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
test_list = ['python_1-1', 'python_1-2', 'python_2-1', 'python_2-2'] count = test_list.count('python_1-2') print(count) #1 test_list.clear() test_list = ['python_1', 'python_1', 'python_2', 'python_1'] count = test_list.count('python_1') print(count) #3 |
指定要素が含まれているかどうか
リストに指定要素が含まれているか確認するための方法です。
これもまぁまぁ現場で使います。
1 2 3 4 5 6 7 8 9 10 11 |
test_list = ['python_1-1', 'python_1-2', 'python_2-1', 'python_2-2'] exists = 'python_1-1' in test_list print(exists) #True exists = 'python_3-1' in test_list print(exists) #False |
要素同士を結合して文字列を作成
要素を結合して文字列を作成します。
csv出力とかを行う場合にいったんリストに溜めてからカンマ区切りで出力!という使い方をすることもあります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
test_list = ['python_1-1', 'python_1-2', 'python_2-1', 'python_2-2'] join_str = ''.join(test_list) print(join_str) #python_1-1python_1-2python_2-1python_2-2 join_str = '\n'.join(test_list) print(join_str) #python_1-1 #python_1-2 #python_2-1 #python_2-2 |
リストの逆順
リストを逆順で取得する方法はいくつかありますが、
ここでは非常に簡単な方法を紹介します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
if __name__ == "__main__": l = [1,2,3,4,5,6,7,8,9,10] for d in l[::-1]: print(d) ↓出力結果 #10 #9 #8 #7 #6 #5 #4 #3 #2 #1 |
リストを[::-1]と指定するだけで逆から取得することができます。