Python_リスト

リスト

リストとは

リスト型はシーケンス型の一つであり、複数の要素から構成され、要素が順に並んでいるデータ構造となります。

他言語の配列に相当します。

なお、リストの要素は異なる型(オブジェクト)を保持することができます。


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())

関連ページ