はじめに
初めまして、現在ITエンジニアになるために勉強をしている化学工学系の理系大学生です。qiitaにはアウトプットのために記事を投稿していこうと思います。
言語は機械学習に興味があるのでpythonの勉強をしています。今回はリストの基本的な操作方法についてまとめていこうと思います。
Pythonのリスト型について
1つの変数に対して複数の値を入れられて、その際に使用する変数の型をリスト型と呼びます。
リストの基本的な操作
リストの作成
lst = [1,2,3,4,5]
リストの要素の取得
lst = [1,2,3,4,5]
print(lst[0])
出力結果
[1]
インデックスは最初を0として1,2,3,4と振られていきます。0と指定すると先頭の要素を取得します。今回の場合だと1です。またマイナスにすると末尾の要素から取得できます。-1と指定すると今回の場合だと5を取得出来ます。
リストの要素をスライス
lst = [1,2,3,4,5]
print(lst[1:4])
出力結果
[2,3,4]
1:4
とすると1から3までの要素を取得出来ます。4番目の要素は取得されません。1:
だけだと1,2,3,4番目の要素が取得でき、[2,3,4,5]と出力されます。:4
だけだと0から3番目の要素が取得でき、[1,2,3,4]と出力されます。
リストの要素の変更
lst = [1,2,3,4,5]
print(lst)
lst[2] = 6
print(lst)
出力結果
[1, 2, 3, 4, 5]
[1, 2, 6, 4, 5]
lst[2] = 6
は2番目の要素を6に変える。
末尾に要素の追加 append
lst = [1,2,3,4,5]
lst.append(6)
print(lst)
出力結果
[1,2,3,4,5,6]
要素の挿入 insert
lst = [1,2,3,4,5]
lst.insert(3,7)
print(lst)
出力結果
[1,2,3,7,4,5]
insert(3,7)
は3番目の位置に要素7を追加する。
リストの連結 extend
lst = [1,2,3,4,5]
lst.extend([11, 12, 13])
print(lst)
出力結果
[1,2,3,4,5,11,12,13]
+演算子を使うことでも連結できます。
lst = [1,2,3,4,5]
lst = lst + [11, 12, 13]
print(lst)
出力結果
[1,2,3,4,5,11,12,13]
要素の削除 pop,del,remove,clear
pop
lst = [1,2,3,4,5]
lst.pop()
print(lst)
出力結果
[1,2,3,4]
pop()
で末尾の要素を削除できます。またpop(n)
とすることでn番目の要素を削除できます。
lst = [1,2,3,4,5]
lst.pop(2)
print(lst)
出力結果
[1,2,4,5]
del
lst = [1,2,3,4,5]
del lst[3]
print(lst)
出力結果
[1,2,3,5]
del リスト[n]
でn番目の要素を削除。またdel リスト[i:j]
とすることでiからj番目の要素を削除できます。
lst = [1,2,3,4,5]
del lst[1:3]
print(lst)
出力結果
[1,4,5]
remove
lst = [1,2,3,55,5]
lst.remove(55)
print(lst)
出力結果
[1,2,3,5]
removeメソッドはpopメソッドと違いインデックスではなく要素を指定して削除します。指定した要素と同じものが複数あった場合インデックスの小さいものが削除されます。
lst = [1,2,3,4,5,2]
lst.remove(2)
print(lst)
出力結果
[1,3,4,5,2]
clear
lst = [1,2,3,4,5]
lst.clear()
print(lst)
出力結果
[]
clearメソッドはリスト内の要素の全削除です。
リストの整列 sort,sorted
sort
lst = [1,4,2,6]
lst.sort()
print(lst)
lst=["white","cat","cool","global"]
lst.sort()
print(lst)
出力結果
[1, 2, 4, 6]
['cat', 'cool', 'global', 'white']
降順で並べるときはsort(reverse=True)
と書くとできます。
lst = [1,4,2,6]
lst.sort(reverse=True)
print(lst)
lst=["white","cat","cool","global"]
lst.sort(reverse=True)
print(lst)
出力結果
[6, 4, 2, 1]
['white', 'global', 'cool', 'cat']
sortメソッドの注意点としてはsort(2,1,4,"white","cat")みたいに型が異なるとエラーが起きること。リストの要素の順番が変わるので元のリストの順番を保持したいときには向いていない等があげられます。
sorted
lst = [1,4,2,6]
print(sorted(lst))
print(lst)
出力結果
[1, 2, 4, 6]
[1, 4, 2, 6]
sorted関数を使うと元のリストを変えずに整列できます。また降順はsorted(リスト,reverse=True)
でできます。
lst = [1,4,2,6]
print(sorted(lst,reverse=True))
print(lst)
出力結果
[6, 4, 2, 1]
[1, 4, 2, 6]
リスト内の順序の反転 reverse,reversed
reverse
lst = [1,4,2,6]
lst.reverse()
print(lst)
出力結果
[6, 2, 4, 1]
reversed
reversed関数を使うと元のリストを変えずに反転できます。
lstA = [1,4,2,6]
lstB = list(reversed(lstA))
print(lstB)
print(lstA)
出力結果
[6, 2, 4, 1]
[1, 4, 2, 6]
reversed関数の注意点はリストではなくイテレータを返します。
リストの複製 copy
import copy
lstA = [1,4,2,6]
lstB = copy.copy(lstA)
print(lstB)
print(lstA)
出力結果
[1, 4, 2, 6]
[1, 4, 2, 6]
リストの長さ(要素数)を取得 len
lst = [1,2,3,4,5]
print(len(lst))
出力結果
5
終わりに
今回はリストの基本的な操作についてまとめました。次回以降も学習した内容をまとめていこうと思います。
参考文献
・【Python】リスト操作まとめ
・Pythonでリスト(配列)に要素を追加する
・paizaラーニング 新・python入門編