今回は、AI開発だけでなく、プログラミングでは必須の配列について解説していきます。今回はその中でも、基礎的な配列操作について説明します。
前回の復習
以下のページで解説した配列の説明をご確認ください。



配列の定義方法について
配列に初めから値をセットする場合
# 配列に初めから値をセットする場合
list1 = [1, 10, 12, 14, 2, 5, 4, 6, 7]
print(list1)
# 出力結果
# [1, 10, 12, 14, 2, 5, 4, 6, 7]
配列に後から値を追加する方法
list2 = []
list2.append(1)
print(list2)
# 出力結果
# [1]
list2.append(10)
list2.append(12)
list2.append(14)
list2.append(2)
list2.append(5)
list2.append(4)
list2.append(6)
list2.append(7)
print(list2)
# 出力結果
# [1, 10, 12, 14, 2, 5, 4, 6, 7]
配列のn番目の値を取得する
配列は前回の説明にも書いた通り、先頭の値を0番目としています。
list1 = [1, 10, 12, 14, 2, 5, 4, 6, 7]
# 先頭(0番目)を取得する場合
print(list1[0])
# 12を取得する場合、先頭を0番目とした場合2番目なので
print(list1[2])
配列の後ろからn番目(Python特有)
Pythonでは後ろから取得する場合は、-(マイナス)を使うことで取得できる
list1 = [1, 10, 12, 14, 2, 5, 4, 6, 7]
# 1番後ろ(7)を取得する場合
print(list1[-1])
# 後ろから3番目(4)を取得する場合
print(list1[-3])
配列のn番目からk – 1番目を取得する
Pythonではスライスと呼ばれる配列操作があります。これを使うと例えば3番目から6番目の4つを取得することがきます
スライスで3〜6番目を取得するためには[ ]の中に3から7の前までという意味で[3:7]と書きます
list1 = [1, 10, 12, 14, 2, 5, 4, 6, 7]
print(list1)
# 出力結果
# [1, 10, 12, 14, 2, 5, 4, 6, 7]
# 3〜6番目までの配列を取得
# [14, 2, 5, 4]を取得予定
print(list1[3:7])
# 出力結果
# [14, 2, 5, 4]
配列の中身をソートする
配列自身を昇順もしくは降順にソートする。
配列を昇順にソートする場合
# 配列に初めから値をセットする場合
list1 = [1, 10, 12, 14, 2, 5, 4, 6, 7]
print(list1)
# 出力結果
# [1, 10, 12, 14, 2, 5, 4, 6, 7]
# 昇順にソートする
list1.sort()
print(list1)
# 出力結果
# [1, 2, 4, 5, 6, 7, 10, 12, 14]
降順にソートする場合
# 配列に初めから値をセットする場合
list1 = [1, 10, 12, 14, 2, 5, 4, 6, 7]
print(list1)
# 出力結果
# [1, 10, 12, 14, 2, 5, 4, 6, 7]
# 降順にソートする
list1.sort(reverse=True)
print(list1)
# 出力結果
# [14, 12, 10, 7, 6, 5, 4, 2, 1]
配列の中身をソートする2
配列を昇順もしくは降順にソートした配列を新しく作成する
昇順にソートする場合
# 配列に初めから値をセットする場合
list1 = [1, 10, 12, 14, 2, 5, 4, 6, 7]
print(list1)
# 出力結果
# [1, 10, 12, 14, 2, 5, 4, 6, 7]
# 昇順にソートする
sorted_list = sorted(list1)
print(list1)
# list1はそのまま [1, 10, 12, 14, 2, 5, 4, 6, 7]
print(sorted_list)
# sorted_listはソートされた結果が入っている
# [1, 2, 4, 5, 6, 7, 10, 12, 14]
降順にソートする
list1 = [1, 10, 12, 14, 2, 5, 4, 6, 7]
print(list1)
# 出力結果
# [1, 10, 12, 14, 2, 5, 4, 6, 7]
# 降順にソートする
sorted_list = sorted(list1, reverse=True)
print(list1)
# list1はそのまま [1, 10, 12, 14, 2, 5, 4, 6, 7]
print(sorted_list)
# sorted_listはソートされた結果が入っている
# [14, 12, 10, 7, 6, 5, 4, 2, 1]
配列の中から重複している要素を排除する
Pythonのset型(集合)に変換した後、list型(配列)に戻すことで重複している要素を排除できます。set型は集合型とも言い、重複は持てない形となります。set型は{ }で表します。
list3 = [1, 1, 2, 3, 2, 3, 1, 1, 3, 4]
print(list3, type(list3))
# 出力結果 [1, 1, 2, 3, 2, 3, 1, 1, 3, 4] <class 'list'>
set3 = set(list3)
print(set3, type(set3))
# 出力結果 {1, 2, 3, 4} <class 'set'>
list4 = list(set3)
print(list4, type(list4))
# 出力結果 [1, 2, 3, 4] <class 'list'>
終わりに
今回は、配列の基礎的な問い合わせ方法として、値の取得やスライス、ソート、重複排除などを説明しました。次回は、配列と相性の良い繰り返し文(for文)の解説を行います。