『Pythonプログラミング入門から実践へ』Day 02を読む

6098 ワード

第三章
1、リスト
リストは、特定の順序で並べられた一連の要素から構成されます.リスト内のものは任意であり、要素間には何の関係もありません.Pythonでは、リストをかっこ([])で表し、その要素をカンマで区切ります.
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)
#   :
['trek', 'cannondale', 'redline', 'specialized']

リストは秩序化された集合であり、リスト内の要素にアクセスするには、その要素の位置またはインデックスをPythonに伝える必要があります.リストの最初の要素のインデックスは1ではなく0で、ほとんどのプログラミング言語はそうです.リスト内の任意の要素にアクセスするには、要素の位置を1に減らし、その要素にインデックスとしてアクセスします.
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[2])
#   :
redline

また、Pythonはアクセスリストの最後の要素に文法を提供し、インデックスを-1に指定すると、リストの最後の要素にアクセスすることができます.このように、リストの任意の要素にアクセスすることもできます.
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[-3])
#   :
cannondale

リスト内の値は、他の変数と同様に使用することもできます.(ここでは、前の文字列のメソッドを使用して、結果をより美しくします)
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
message = "My first bicycle was a " + bicycles[1].title() + "."
print(message)
#   :
My first bicycle was a Cannondale.

2、要素の変更、追加、削除
ほとんどのリストはダイナミックで、プログラムの実行に伴って要素が削除されます.
(1)要素の修正
リスト名と変更する要素のインデックスを指定し、その要素の新しい値を指定すると、要素を変更できます.
bicycles = ['trek', 'cannondale', 'redline']
print(bicycles)
bicycles[1] = 'specialized'
print(bicycles)
#   :
['trek', 'cannondale', 'redline']
['trek', 'specialized', 'redline']

(2)要素の追加
末尾に要素を追加:append()
bicycles = ['trek', 'cannondale', 'redline']
print(bicycles)
bicycles.append('specialized')
print(bicycles)
#   :
['trek', 'cannondale', 'redline']
['trek', 'cannondale', 'redline', 'specialized']

要素の挿入:insert()この操作により、リストにある各要素が1つ後ろに移動します.
bicycles = ['trek', 'cannondale', 'redline']
print(bicycles)
bicycles.insert(2, 'specialized')
print(bicycles)
#   :
['trek', 'cannondale', 'redline']
['trek', 'cannondale', 'specialized', 'redline']

(3)要素の削除
del文を使用して要素を削除:リスト内の任意の場所の要素を削除できます.
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)
del bicycles[2]
print(bicycles)
#   :
['trek', 'cannondale', 'redline', 'specialized']
['trek', 'cannondale', 'specialized']

pop()メソッドを使用して要素を削除します.このメソッドでは、リストの任意の場所の要素を削除し、削除した要素の値を返して使用を続行できますが、リストにはすでに要素がありません.リストの最後の要素を削除する必要がある場合は、カッコに値を入力する必要はありません.他の場所の要素を削除する場合は、削除する要素を指定するインデックスをカッコに入力します.
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)
print(bicycles.pop())
print(bicycles)
#   :
['trek', 'cannondale', 'redline', 'specialized']
specialized
['trek', 'cannondale', 'redline']

del文とpop()メソッドの違い:リストから要素を削除し、使用しない場合はdelを使用します.要素を削除してからも使用し続ける場合はpop()を使用します.
値に基づいて要素を削除:remove()削除する要素の場所が分からない場合は、この方法を使用します.このメソッドには値が返されません.つまり、要素を削除してから使用を続けることはできません.使用を続けるには、削除する前に要素を保存する必要があります.
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)
bicycles.remove('trek')
print(bicycles)
#   :
['trek', 'cannondale', 'redline', 'specialized']
['cannondale', 'redline', 'specialized']

メソッドremove()は、一致する最初の指定された値のみを削除し、削除する値がリストに複数回表示される場合は、ループを使用してすべての値を削除する必要があります.
3、組織リスト
(1)sort()メソッドを用いてリストを永続的にソートする
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
bicycles.sort()
print(bicycles)
#   :
['cannondale', 'redline', 'specialized', 'trek']

このリストは、カッコにパラメータreverse=Trueを追加すると、上記のように逆の順序で並べられます.
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
bicycles.sort(reverse=True)
print(bicycles)
#   :
['trek', 'specialized', 'redline', 'cannondale']

(2)sorted()関数を用いてリストを一時的にソートする
この関数は、リスト要素の元の配置順序を保持しながら、特定の順序で表示できます.
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print("    :", bicycles)
print("    1:", sorted(bicycles))
print("    2:", sorted(bicycles, reverse=True))
print("    :", bicycles)
#   :
    : ['trek', 'cannondale', 'redline', 'specialized']
    1: ['cannondale', 'redline', 'specialized', 'trek']
    2: ['trek', 'specialized', 'redline', 'cannondale']
    : ['trek', 'cannondale', 'redline', 'specialized']

(3)逆さにリストを印刷する
ここではメソッドreverse()を用いるが、このreverseは上述したreverseとは異なり、ここでのreverse()はアルファベット順とは逆の順序でリスト要素を配列するのではなく、リスト要素の配列を反転するだけである.リスト要素の並べ替え順序を永続的に変更できますが、元の並べ替え順序を復元する必要がある場合は、関数を再度呼び出すだけです.
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)
bicycles.reverse()
print(bicycles)
#   :
['trek', 'cannondale', 'redline', 'specialized']
['specialized', 'redline', 'cannondale', 'trek']

(4)リストの長さの決定
len()関数を使用して、リストの長さを取得します.
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(len(bicycles))
#   :
4

4、リストの使用時にインデックスエラーを避ける
リストの長さが5の場合、5番目、6番目の要素を取得するように要求されると、インデックスエラーIndexErrorが発生します.Pythonではインデックスが5または6の要素が見つからないため、リストの長さをクエリーし、クエリーする要素の位置を1減らしてインデックスとして取得する必要があります.