リスト型はシーケンス型の一つであり、複数の要素から構成され、要素が順に並んでいるデータ構造となります。
他言語の配列に相当します。
なお、リストの要素は異なる型(オブジェクト)を保持することができます。
list_num = [1, 2, 3, 4, 5] list_obj = [True, 1, "true", list_num] print(list_obj)
#!/usr/bin/env python # -*- coding: UTF-8 -*- # vim:fileencoding=utf-8 # coding=utf8 import sys def main(): # 空のリストを作る new_list = list() new_list = [] # 初期値を指定する new_list = [1, 2, 3] # レンジから作る new_list = range(1, 10) # [1, 2, 3, 4, 5, 6, 7, 8, 9] new_list = range(10, 1, -1) # [10, 9, 8, 7, 6, 5, 4, 3, 2] # タプルからリストを作る tuple_tmp = (1, 2, 3, 4, 5) new_list = list(tuple_tmp) # [1, 2, 3, 4, 5] # 文字列から作る new_list = list("abcde") # ['a', 'b', 'c', 'd', 'e'] new_list = "a,b,c,d,e".split(",") # ['a', 'b', 'c', 'd', 'e'] if __name__ == "__main__": sys.exit(main())
#!/usr/bin/env python # -*- coding: UTF-8 -*- # vim:fileencoding=utf-8 # coding=utf8 import sys def main(): list_add = [1, 2, 3] # 後ろに追加 list_add.append(4) # [1, 2, 3, 4] # 前に追加 list_add.insert(0, 0) # [0, 1, 2, 3, 4] # 任意の場所に追加 list_add.insert(2, 1.5) # [0, 1, 1.5, 2, 3, 4] # 配列に配列を追加 list_add.extend([5, 6]) # [0, 1, 1.5, 2, 3, 4, 5, 6] list_add = list_add + [7, 8] # [0, 1, 1.5, 2, 3, 4, 5, 6, 7, 8] if __name__ == "__main__": sys.exit(main())
#!/usr/bin/env python # -*- coding: UTF-8 -*- # vim:fileencoding=utf-8 # coding=utf8 import sys def main(): list_chr = ["a", "b", "c", "b", "a"] # 要素名で削除する。(最初に一致した要素のみ削除する) list_chr.remove("b") # ['a', 'c', 'b', 'a'] # 条件に一致する要素を全て削除する list_chr = [elem for elem in list_chr if elem is not "a"] # ['c', 'b'] list_num = [1, 2, 3, 4, 5] # 位置を指定して削除する del list_num[0] # [2, 3, 4, 5] # 位置を指定して複数削除する del list_num[1:3] # [2, 5] # 全て削除する del list_num[:] # [] if __name__ == "__main__": sys.exit(main())
#!/usr/bin/env python # -*- coding: UTF-8 -*- # vim:fileencoding=utf-8 # coding=utf8 import sys def main(): list_ref = [1, 2, 3, 4, 5, 6, 7, 8, 9] # 範囲指定で取り出す print(list_ref[0:5]) # [1, 2, 3, 4, 5] print(list_ref[0:-1]) # [1, 2, 3, 4, 5, 6, 7, 8] print(list_ref[:5]) # [1, 2, 3, 4, 5] print(list_ref[5:]) # [6, 7, 8, 9] # 1件ずつ処理する for elem in list_ref: print(elem) # ループ処理(indexも一緒に取得したい) for i, v in enumerate(list_ref): print(i, v) if __name__ == "__main__": sys.exit(main())
#!/usr/bin/env python # -*- coding: UTF-8 -*- # vim:fileencoding=utf-8 # coding=utf8 import sys def main(): list_update = ["a", "b", "c"] # 位置で更新する list_update[2] = "C" # ['a', 'b', 'C'] list_update[:2] = ["A", "B"] # ['A', 'B', 'C'] # 検索して更新する idx = list_update.index("B") list_update[idx] = "b" # ['A', 'b', 'C'] if __name__ == "__main__": sys.exit(main())