Top > Python > リスト処理

リストは強力です。強力なリスト処理を見ていきます。

「[]」:リスト定義と指定

lists = [1,2,3,4,5]
print(lists[0])
>>>
1


リストには数値と文字列が混在しても大丈夫
…このやり方は、おススメしませんけどね。
lists = [1,2,3,4,5,"6","7","8","9","10"]
print(lists[0])
print(lists[5])
>>>
1
6


リストの内容を更新
lists[5] = 6
print(lists[5])
>>>
6

len()

配列長を取得
lists = [1,2,3,4,5,6,7,8,9,0]
print( len(lists) )
>>>
10

sum()

リスト内のデータの合計を求める時は。
lists = [1,2,3,4,5,6,7,8,9,0]
print( sum(lists) )
>>>
55

平均を出したい時は、len()と組み合わせる事で容易になる。
lists = [1,2,3,4,5,6,7,8,9,0]
print( sum(lists) / len(lists) )
>>>
5.5

for文でのリストの利用。これが醍醐味!

※ ループ回数を指定するよりもこのやり方の方が確実なループが約束されます。
リストの先頭から順番に値を抜き出せます。
value = 0
answer = 0
lists = [1,2,3,4,5,6,7,8,9,10]
for value in lists:
  answer += value
else:
  print(answer)
>>>
55

◆インデックス付
value = 0
answer = 0
lists = [1,2,3,4,5,6,7,8,9,10]
for num,value in enumerate(lists):
  answer += value
  print(num,answer)
else:
  print(answer)
>>>
0 1
1 3
2 6
3 10
4 15
5 21
6 28
7 36
8 45
9 55
55

リストの内容を確認したい場合

lists = [1,2,3,4,5,6,7,8,9,10]
print( list(enumerate(lists))) )
>>>
[(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 8), (8, 9), (9, 10)]

リストを結合

list1 = [1,2,3]
list2 = [4,5,6]
list3 = [7,8,9]
list4 = [10]
lists = 0

lists = list1 + list2
print( lists )
lists += list3
print( lists )
lists.extend(list4)
print( lists )
>>>
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

リストをスライス

[開始位置:終了位置(:ステップ)] でリストから指定した値を抜き出すことができる。

list = [1,2,3,4,5,6,7,8,9,10]

print( list[3:7] )
>>>
[4, 5, 6, 7]

◆省略する事も可能
print( list[5:] )
print( list[:5] )
>>>
[6, 7, 8, 9, 10]
[1, 2, 3, 4, 5]


◆ステップ数の設定
print( list[2:9:3] )
print( list[::2] )
>>>
[3, 6, 9]
[1, 3, 5, 7, 9]

リストを削除

list = [1,2,3,4,5,6,7,8,9,10]
del list[3]
print( list )
>>>
[1, 2, 3, 5, 6, 7, 8, 9, 10]

list = [1,2,3,4,5,6,7,8,9,10]
del list[3:]
>>>
[1, 2, 3]

list = [1,2,3,4,5,6,7,8,9,10]
del list[:-3]
>>>
[8, 9, 10]

その他のリスト処理メソッド

メソッド 説明
append( x ) 値xをリストの末尾に追加
extend( l ) リストlを他のリストの末尾に追加
insert( i , x ) iの位置に値xを挿入
remove( x ) リストで初めに見つかった値xを消去
pop() リストの末尾のデータを消去
clear() リストの全要素を削除
index( x ) リストの要素から値xのインデックスを取得
count( x ) リスト中の値xの数を取得
sort( key , reverse ) リストを昇順に並び替え(第2引数のreverseをtrueにすると降順になる)
copy() リストを複製
copy.deepcopy() リスト中にリストが含まれているように、他のオブジェクトを持つものを複製

一覧へ戻る




Copyright © 2015 AchaPorutePiipo All Rights Reserved.