20.リスト2



                    前回はこちら

                       要素の削除

                          del とインデックスを使う方法

                          del リスト[インデックス値]
                          del リスト[開始:終了]

In [16]:
l = ["A", "B", "C", "D", "E", "F", "G"]
print (l)

# 2番目を削除
del l[1]
print (l)

# さらに2番目,3番目を削除
del l[1:3]
print (l)
['A', 'B', 'C', 'D', 'E', 'F', 'G']
['A', 'C', 'D', 'E', 'F', 'G']
['A', 'E', 'F', 'G']

pop関数を使う

リスト.pop(インデックス値)

In [17]:
l = ["A", "B", "C", "D", "E", "F", "G"]
print (l)

# 4番目を削除
l.pop(3)
print (l)
['A', 'B', 'C', 'D', 'E', 'F', 'G']
['A', 'B', 'C', 'E', 'F', 'G']
In [18]:
l = ["A", "B", "C", "D", "E", "F", "G"]

# 要素がない場合はエラーになる
l.pop(8)
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-18-e70c4ed39c67> in <module>()
      2 
      3 # 要素がない場合はエラーになる
----> 4 l.pop(8)

IndexError: pop index out of range

IndexError : インデックスの値が要素数を超えていたりする場合に発生するエラー

remove関数を使う

リスト.remove(指定の値)

In [19]:
l = ["A", "B", "C", "D", "E", "F", "G"]
print(l)

# 要素の A を削除
l.remove('A')
print (l)
['A', 'B', 'C', 'D', 'E', 'F', 'G']
['B', 'C', 'D', 'E', 'F', 'G']
In [20]:
l = ["A", "B", "C", "D", "E", "F", "G"]

# 要素がない場合はエラーになる
l.remove('H')
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-20-ef7a132af295> in <module>()
      2 
      3 # 要素がない場合はエラーになる
----> 4 l.remove('H')

ValueError: list.remove(x): x not in list

ValueError : リストに削除する値が含まれていないから発生したエラー

削除するには、有ったら削除するという工夫が必要です。

次にリストの機能ではないですが
リストの要素の値の検索ができます。

in 演算子を用いると
中身が検索できて、その結果がbool型で返ってきます。

In [21]:
l = ["A", "B", "C", "D", "E", "F", "G"]
print ('K' in l)
False

このbool型の結果を用いて有ったら削除することができます。

リストの要素の並べ替え

並べ替えは

昇順:リスト.sort()
降順:リスト.sort(reverse=True)

sort関数を使って行います。

In [22]:
a = [1,4,3,5,6]
print(a)

# 昇順で並び替え
a.sort()
print(a)
[1, 4, 3, 5, 6]
[1, 3, 4, 5, 6]
In [23]:
a = [1,4,3,5,6]
print(a)

# 降順で並び替え
a.sort(reverse=True)
print(a)
[1, 4, 3, 5, 6]
[6, 5, 4, 3, 1]

要素を逆に並び替える

リスト.reverse()

In [24]:
a = [1,4,3,5,6]
print(a)

# 格納した逆の順番で並び替え
a.reverse()
print(a)
[1, 4, 3, 5, 6]
[6, 5, 3, 4, 1]

リストは複数の値を確保できるので
様々な用途でプログラムでは用いられます。

使用頻度もTop3くらいにはなるかと思いますので
取り扱い方は押さえておきましょう。