Python 入門 ノート (10)リストの操作 

リストの集計に使える命令

len,min,max,sum は他のデータ型でも使えるので、メソッドでは無く関数の書き方になります。

len 要素の個数

>>> scores = [10, 20, 30, 20, 40]
>>> len(scores)
5

min 最小値

>>> scores = [10, 20, 30, 20, 40]
>>> min(scores)
10

max 最大値

>>> scores = [10, 20, 30, 20, 40]
>>> max(scores)
40

sum 合計

>>> scores = [10, 20, 30, 20, 40]
>>> sum(scores)
120

count メソッド 特定の値のリスト内での数

20がリスト内に何個あるか調べるには scores.count(20) と書きます。

>>> scores = [10, 20, 30, 20, 40]
>>> scores.count(20)
2

index メソッド 特定の値がどの位置にあるか調べます

>>> scores = [10, 20, 30, 20, 40]
>>> scores.index(20)
1

最初にindexの値20をとったのは 1 になります。

ただし、 index メソッドは最初の値のみ調べてくれます。

 

in 演算子 特定の値がリスト内に存在するかを調べます(真偽値を返します。)

>>> scores = [10, 20, 30, 20, 40]
>>> 20 in scores
True
>>> 100 in scores
False

では、値が存在して入れば exist を返してみます。

if ~in ‘exist’

scores = [10, 20, 30, 20, 40]
if 30 in scores:
    print('exist')
exist

リストの並べ替え sort reverse sort(reverse=True)

メソッド 破壊的(元データを直接変更する処理)

reverse()

scores.reverse()  要素を逆順に並べ替えます。元データは無くなります。(破壊的)

>>> scores = [10, 20, 40, 30, 20]
>>> scores.reverse()
>>> scores
[20, 30, 40, 20, 10]

[10, 20, 40, 30, 20] → [20, 30, 40, 20, 10] 逆順になり、元データは無くなります。

 

sort()

scores.sort() 要素を小さい順に並べ替えます。元データは無くなります。(破壊的)

>>> scores = [10, 20, 40, 30, 20] 
>>> scores.sort()
>>> scores
[10, 20, 20, 30, 40]

[10, 20, 40, 30, 20] → [10, 20, 20, 30, 40] 小さい順に並び替えられます。元データは無くなります。(破壊的)

関数 非破壊的(元データを破壊しない処理)

sorted(scores, reverse= True)

scores_sorted という変数に、 sorted 関数で reverse = True とします。 

リスト scores が逆順に並び替えられます。

元のリスト scores には変化がありません。

>>> scores = [10, 20, 30, 20 ,40]
>>> scores_sorted = sorted(scores, reverse = True)
>>> scores_sorted
[40, 30, 20, 20, 10]
>>> scores
[10, 20, 30, 20, 40]

 

split

s = 'My name is Mike.'
to_split = s.split(' ')
print(to_split)

[‘My’, ‘name’, ‘is’, ‘Mike.’]

join

s = 'My name is Mike.'
to_split = s.split(' ')
x = ' '.join(to_split)
print(x)

My name is Mike.

help

print(help(list))

 

append(self, object, /)
| Append object to the end of the list.
|
| clear(self, /)
| Remove all items from list.
|
| copy(self, /)
| Return a shallow copy of the list.
|
| count(self, value, /)
| Return number of occurrences of value.
|
| extend(self, iterable, /)
| Extend list by appending elements from the iterable.
|
| index(self, value, start=0, stop=9223372036854775807, /)
| Return first index of value.
|
| Raises ValueError if the value is not present.
|
| insert(self, index, object, /)
| Insert object before index.
|
| pop(self, index=-1, /)
| Remove and return item at index (default last).
|
| Raises IndexError if list is empty or index is out of range.
|
| remove(self, value, /)
| Remove first occurrence of value.
|
| Raises ValueError if the value is not present.
|
| reverse(self, /)
| Reverse *IN PLACE*.
|
| sort(self, /, *, key=None, reverse=False)
| Sort the list in ascending order and return None.
|
| The sort is in-place (i.e. the list itself is modified) and stable (i.e. the
| order of two equal elements is maintained).
|
| If a key function is given, apply it once to each list item and sort them,
| ascending or descending, according to their function values.
|
| The reverse flag can be set to sort in descending order.

コメント