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以上
