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