0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python】リストの各種操作 ※随時追加

Last updated at Posted at 2025-01-19

リスト関連の操作まとめ。自分用チートシート。
学習の進度に合わせて、内容は随時追加する。

1. リスト内での演算

最大値を求める max(リスト名)
最小値を求める min(リスト名)
合計値を求める sum(リスト名)

li = [1, 2, 3, 4, 5]

print(max(li))
# 5

print(min(li))
# 1

print(sum(li))
# 15

2. リストの並び替え

sorted()
引数にはリスト名を指定。
デフォルトは昇順で、降順に並べ替えたい場合は引数reverseTrueとする。

li = [3, 5, 2, 4, 1]

# 昇順で並び替え
list_sorted = sorted(li)
print(list_sorted)
# [1, 2, 3, 4, 5]

# 降順で並び替え
list_sorted = sorted(li, reverse=True)
print(list_sorted)
# [5, 4, 3, 2, 1]

3. リスト内の特定要素をカウントする(countメソッド)

リスト名.count(カウントする要素)

li = [1, 1, 1, 2, 1, 3, 5, 1, 6, 0, 4]

print(li.count(1))
# 5

4. リスト内の特定要素のインデックスを取得する

リスト名.index(取得する要素)

li = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"]
print(li.index("f"))
# 5

5. リストの特定範囲を抽出

リスト[n-1 : m]
n番目 ~ m番目までを抽出

文字列から部分文字列を抽出する場合とほぼ同様、スライスを用いる。(下記URL、5-bの項)

li = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"]

# 3~5文字目を抽出
print(li[2:5])

# ['c', 'd', 'e']

6. リストを連結する

リスト1 + リスト2

list_1 = [1, 2, 3, 4, 5]
list_2 = ["a", "b", "c", "d", "e"]

list_new = list_1 + list_2

print(list_new)
# [1, 2, 3, 4, 5, 'a', 'b', 'c', 'd', 'e']

7. リストに要素を追加する

7-a. 末尾に追加する(appendメソッド)

リスト名.append(追加する要素)

li = [1, 2, 3, 4, 5]
li.append(100)

print(li)
# [1, 2, 3, 4, 5, 100]

7-b. 指定の位置に追加する(insertメソッド)

リスト名.insert(インデックス, 値)

li = [1, 2, 3, 4, 5]
li.append(2, 100)

print(li)
# [1, 2, 100, 3, 4, 5]

8. リスト内の要素を削除する

del リスト名[インデックス]

li = [1, 2, 3, 4, 5]
del li[0]

print(li)
# [2, 3, 4, 5]

9. リストから重複する要素を削除する

9-a. 順序の保持が必要ない場合

set(リスト名)

setメソッドは、set型のオブジェクトを生成する。
リストやタプルにしたい場合は、変換操作が必要。

li = [1, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6]
li_set = set(li)

# set型
print(li_set)
#  {1, 2, 3, 4, 5, 6}

# リスト
print(list(li_set))
#  [1, 2, 3, 4, 5, 6]

9-b. 順序を保持したい場合

dict.fromkeys(リスト名)

dict.fromkeys()では新たな辞書オブジェクトを生成する。
リストやタプルにしたい場合は、変換操作が必要。

li = [3, 4, 2, 3, 5, 1, 4, 2, 1, 5, 0]
li_dict = dict.fromkeys(li)

# 辞書オブジェクト
print(li_dict)
# {3: None, 4: None, 2: None, 5: None, 1: None, 0: None}

# リスト
print(list(li_dict))
# [3, 4, 2, 5, 1, 0]

10. リスト内の全ての要素への演算

例題として、li = [1, 2, 3, 4, 5]の全ての要素を2乗して出力する。
for文を用いて記述した場合は以下の通りとなる。

li = [1, 2, 3, 4, 5]

for i in range(len(li)):
    li[i] = li[i]**2

print(li)

10-a. リスト内包表記

for文よりもシンプルに記述ができ、処理速度も速くなる。

li = [1, 2, 3, 4, 5]

li_new = [n**2 for n in li]

print(li_new)
# [1, 4, 9, 16, 25]

10-b. lambda式

li = [1, 2, 3, 4, 5]

li_new = map(lambda n: n ** 2, li)

print(list(li_new))
# [1, 4, 9, 16, 25]
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?