Pythonのリストについてまとめてみた

Python

Pythonのリスト

宣言方法

リストの宣言方法はほかのプログラム言語とほとんど同じ

l=[1,2,3,4,5,6,7,8,9]
print(type(l),l) #<class 'list'> [1, 2, 3, 4, 5, 6, 7, 8, 9]

要素の取り出し方

l=[1,2,3,4,5,6,7,8,9]
#2番目の要素を取り出す
print(l[1]) #2
#最後から2番目の要素を取り出す
print(l[-1]) #9
#1番目から6番目までの要素を取り出す
print(l[0:5]) #[1, 2, 3, 4, 5]
#最初から6番目までの要素を取り出す
print(l[:5]) #[1, 2, 3, 4, 5]
#3番目から最後までの数字を取り出す
print(l[2:])  #[3, 4, 5, 6, 7, 8, 9]
#10番目は存在しないためエラーになる
print(l[10]) #IndexError: list index out of range
#リストの長さを出力する
print(len(l)) #9
#文字列をリストに分解する
print(list('abcdefg')) #['a', 'b', 'c', 'd', 'e', 'f', 'g']
#2つおきに要素を取り出す
print(l[::2]) #[1, 3, 5, 7, 9]
#多重リストの取り出し方
n = [[1,2,3,],['a','b','c']]
#2つ目のリストを取り出す
print(n[0]) #[1, 2, 3]
#2つ目のリストの1つ目の要素を取り出す
print(n[1][0])  #a

要素の変更

l=[1,2,3,4,5,6,7,8,9]
print(l)  #[1, 2, 3, 4, 5, 6, 7, 8, 9]
#1番目のリストの中身を書き換える
l[0] = 0
print(l)  #[0, 2, 3, 4, 5, 6, 7, 8, 9]
#1番目から3番目までの要素を入れ替える
l[0:3] = [3,2,0]
print(l)  #[3, 2, 0, 4, 5, 6, 7, 8, 9]
#1番目から3番目までの要素を取り除く
l[0:3] = []
print(l) #[4, 5, 6, 7, 8, 9]
#要素をすべて取り除く
l[:] = []
print(l) #[]

要素の追加、取り出し、削除

n=[1,2,3]
#リストの末尾に要素を追加する
n.append(4)
print(n)  #[1, 2, 3, 4]
#指定した箇所(0番目)に要素を追加する
n.insert(0,2)
print(n)  #[2, 1, 2, 3, 4]

#リストの末尾から要素を取り出す
n.pop()
print(n)  #[2, 1, 2, 3]
#指定した箇所(0番目)から要素を取り出す
n.pop(0)
print(n)  #[1, 2, 3]

#要素を削除する
del n[0]
print(n)  #[2, 3]
#指定した要素を削除する
n.remove(2)
print(n) #[3]
#要素が存在しない場合はエラーになる
n.remove(2)  #ValueError: list.remove(x): x not in list

リストの結合

#データを結合する
a = [1,2,3,4]
b = [5,6,7,8]
x = a+b
print(x) #[1, 2, 3, 4, 5, 6, 7, 8]
a.extend(b)
print(a) #[1, 2, 3, 4, 5, 6, 7, 8]

リストのその他の機能

l =[1,2,3,4,1,2,3]
#特定の要素がどこにあるかを探す
print(l.index(3))  #2
#3番目以降の要素から特定の要素がどこにあるのかを探す
print(l.index(3,3))  #6

#ソート
#昇順にソートする
l.sort()
print(l)  #[1, 1, 2, 2, 3, 3, 4]
#降順にソートする
l.sort(reverse=True)
print(l)  #[4, 3, 3, 2, 2, 1, 1]
#ソートを入れ替える
l.reverse()
print(l)  #[1, 1, 2, 2, 3, 3, 4]

#文字列からリストに変換する
s = 'My name is ushipay'
to_split = s.split(' ')
print(to_split)  #['My', 'name', 'is', 'ushipay']

#リストの文字列を空白で結合する
r = ' '.join(to_split)
print(r)  #My name is ushipay

以上

タイトルとURLをコピーしました