Pythonは入門から精通まで--最も完全なリスト操作の詳細

8962 ワード

文書ディレクトリ
  • 1、リスト概要
  • 2、アクセスリスト要素
  • 3、リスト内の要素
  • を修正、追加、削除する.
  • 3.1リスト要素
  • を修正する
  • 3.2リストに要素を追加
  • 3.2リストから要素を削除する
  • 4、リストソート
  • 5、リスト長
  • 6、リスト遍歴
  • 6.1 forループループリスト
  • 7、規則的な数字リスト
  • を作成する
  • 7.1関数range()
  • 7.2 range()数値リスト
  • を作成
  • 7.3数値リストに対して簡単な統計
  • を実行する
  • 8リスト解析
  • 9リストスライス
  • 9.1リストスライス使用リストコピー
  • 9.2ユニット
  • 9.2.1タプル定義
  • 9.2.2メタセット変数
  • を修正
    1、リストの概要
    **リスト:**は一連の要素からなり、Pythonでは「[]」を使用してリストを表し、カンマで要素を区切ります.以下に示します.
    Languages = ['Python', 'Java', 'C']  # Languages      
    

    2、アクセスリスト要素
    リスト名+インデックスを使用してリスト要素にアクセスできます.インデックスも0から計算されることに注意してください.
    Languages = ['Python', 'Java', 'C']  # Languages      
    print(Languages[0])
       :Python
    

    3、リストの要素の変更、追加、削除
    3.1リスト要素の変更
    リスト要素の変更は、アクセスリスト要素と類似しています.
  • リスト名+インデックスを使用してリスト要素
  • にアクセス
  • インデックスのリスト要素に新しい値を付与
  • .
    Languages = ['Python', 'Java', 'C']  # Languages      
    Languages[0] = 'C++'    #       
    print(Languages[0])
       :C++
    

    3.2リストに要素を追加
  • リスト末尾に要素を追加:append()メソッド、要素値を指定するだけで
  • リストに要素を挿入する:insert()メソッド、挿入要素のインデックスと要素値
  • を指定する必要があります.
    Languages = ['Python']  # Languages      
    Languages.append('C')   #      
    print(Languages)    
    Languages.insert(0, 'Java') = 'C++'    # 0     
    print(Languages)
       :
    (1)Python C
    (2)Java Python C
    

    3.2リストから要素を削除
  • del文を使用して要素
  • を削除
    使用法:要素インデックスを知る必要があります
    Languages = ['Python', 'Java', 'C']  # Languages      
    del Languages[0]     #  0     
    print(Languages)
       :
    Java C
    

    注意:del文削除後の要素はアクセスできません
  • pop()メソッドを使用して要素
  • を削除
    pop()メソッドは、リスト内の要素を削除するために使用され、要素インデックスを追加する必要があります(インデックスがない場合は、デフォルトで最後の要素を削除します).pop()メソッドは、リスト要素を削除した後、それを使用して別の変数に値を割り当てることができます.
    Languages = ['Python', 'Java', 'C']  # Languages      
    Popped_Language =Languages.pop()     #   ,        
    print(Languages)
    print(Popped_Language)
       :
    (1) Python Java
    (2) C
    
  • 値に基づいてリスト要素
  • を削除する.
    削除する値を知っている場合がありますが、その位置が分からない場合は、remove()メソッドで削除できます.このメソッドインテリジェント削除リストにこの要素の値が最初に表示され、複数の値が表示される場合は、ループを使用して削除する必要があります.
    Languages = ['Python', 'Java', 'C']  # Languages      
    Removed_Languages =Languages.remove(‘Java’)     #     ‘Java’
    print(Languages)
    print(Removed_Language)
       :
    (1) Python C
    (2) Java
    

    4、リストの並べ替え
    Pythonでは、2つの方法でリストを簡単にソートできます.
  • 永続ソート:sort()メソッド
  • sort()は、リストを永続的にソートし、sort()にパラメータreverseがあり、trueに設定すると、リストを逆順序にソートできます.
    Languages = ['Python', 'Java', 'C']  # Languages      
    Languages.sort()     #    
    print(Languages)
       :
    C Java Python
    
  • 一時ソート:sorted()関数
  • sorted()関数は、リストを一時的にソートし、元のリストを変更しません.
    Languages = ['Python', 'Java', 'C']  # Languages      
    print(sorted(Languages))  #       
    print(Languages)
       :
    (1) C Java Python
    (2) Python Java C
    
  • 逆順印刷リスト要素:reverse()メソッド
  • リスト内の要素リストを逆印刷
    Languages = ['C', 'Java', ''Python]  # Languages      
    Languages.reverse()     #    
    print(Languages)
       :
    Python Java C
    

    5、リスト長
    実際のプログラミングでは,解リストの長さ,すなわちリストに含まれる要素の数によく遭遇し,Pythonではlen()関数がリストの長さを迅速に取得することを提供する.
    Languages = ['C', 'Java', ''Python]  # Languages      
    print(len(Languages))
       :
    3
    

    6、リスト遍歴
    6.1 forループループリスト
    リスト要素を巡り、forループを使用してリスト要素をスケールできます.forの後にはコロンが必要です.以下のようにします.
    Languages = ['C', 'Java', 'Python']  # Languages      
    for Language in Languages: #        
       	print(Language)
       :
    C
    Java
    Python
    

    注意:Pythonは、前の行のコードとの関係をインデントで判断するので、必ずコードインデントを正しく使用してください!
    7、規則的な数字リストを作成する
    リストは、デジタルコレクションを格納するのに適しており、Pythonも多くのツールを提供しており、デジタルリストの効率的な処理を支援しています.
    7.1関数range()
    range()関数は数値範囲を表し、range()関数の使い方は以下の通りです.
    # number1     ,number2     ,      ,step    
    range(number1,number2,step)
    

    例:
    for value in range(1,5):
    	print(value)
       :
    1,2,3,4
    

    7.2 range()数値リストの作成
    **関数list()**を使用してrange()の結果をリストに直接変換できます.
    numbers = list(range(1,6))
    print(numbers)
       :
    [1,2,3,4,5]
    

    7.3数値リストに対して簡単な統計を実行する
    関数min()、max()、sum()は、リスト内の最小値、最大値、および、例えば、以下のようにそれぞれ求めることができる.
    numbers =range[1,10]
    print(min(numbers))
    print(max(numbers))
    print(sum(numbers))
         :
    0
    9
    45
    

    8リスト解析
    リスト解析は、forループと新しい要素の作成を1行に結合し、新しい要素を自動的に追加することで、コードをより簡潔にすることができます.たとえば、1~10の間の数の平方を求めたい場合は、forループを使用して1~10の間の数を巡り、平方和を求めることができます.
    #        
    squares = []
    for value in range(1,11):
    	square = value ** 2
    	squares.append(square)
    print(squares)
       :[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
    

    上記はリスト解析を適用しないで、1つの数の平方を求めてリストに再付与して、2つのステップに分けて完成して、私達はリスト解析を使って、2つのステップを1つにまとめることができて、つまりforループと付与値を一緒に操作してsquaresリストに付与することができます:
    #       
    squares = [value **2 for value in range(1,11)]
    print(squares)
       :[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
    

    リスト解析の構成:
  • 中かっこ:リストなので中かっこは必ずある
  • 式で、リストに格納値
  • を生成する.
  • forループ、式に値を与える
  • 9リストスライス
    リストスライスを使用すると、リストから任意のリストのサブセットを抽出できます.
    # number1         (    ,          )
    number2         (    ,         ),                
    list[number1, number2] 
    

    スライスの使用例:
  • は、2~4番目のリスト要素のスライス
  • を生成する.
    numbers = [value for value in range(1, 11)]
    print(numbers[1:4])
       :[2, 3, 4 ]
    
  • 最初の3つのリスト要素のスライス
  • を生成する.
    numbers = [value for value in range(1, 11)]
    print(numbers[:3])  #        ,        
       :[1,2, 3 ]
    
  • は、3番目の要素からリストの末尾までの要素のスライス
  • を生成する.
    numbers = [value for value in range(1, 11)]
    print(numbers[2:])  #        ,        
       :[3,4,5,6,7,8,9,10 ]
    
  • リストの最後の3要素のスライス
  • を生成する.
    ここで使用するリストの負数のインデックスです.負数のインデックスは、リストの末尾から対応する距離の要素を返します.
    numbers = [value for value in range(1, 11)]
    print(numbers[-3:])  #        ,        
       :[8,9,10 ]
    

    9.1リストスライス使用リストコピー
    1つのリストのコピーを使用するには、スライスでリストをコピーします.これにより、2つの独立したリストが形成されます.
    2つのリストが得られないため、リストを1つのリストに割り当てないでください.
  • 賦値構文を使用してリストコピーを作成する問題
  • 下にリストを割り当てて、独立したリストが作成されているかどうかを確認します.
    squares = list(range(1, 11))
     
    print('squares    :', end='')
    print(squares)
     
    #       
    numbers_squares = squares
    print('numbers_squares     :', end='')
    print(numbers_squares)
     
    #  squares      100
    squares.append(100)
    print('      squares :', end='')
    print(squares)
     
    #  squares      200
    numbers_squares.append(200)
    print('      number_squares :', end='')
    print(numbers_squares)
    
       :
    squares    :[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    numbers_squares     :[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
          squares :[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100]
          number_squares :[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100, 200]
    

    見えますnumber_squaresリスト値には、付与値が2つの独立したリストを形成していないことを示す数値100もある.付与値はPythonの新しい変数number_squaresはsquaresに含まれるリストに関連付けられているので、この2つのリストは同じリストを指します.
  • リストコピー正しい方法:スライスコピーリストコピーの下の列を使用して、1-10の数値リストを作成し、スライスによるリストコピーで2つの独立したリスト
  • を形成する.
    squares = list(range(1, 11))
     
    print('squares    :', end=' ')
    print(squares)
     
    #       squares  
    numbers_squares = squares[:]
    print('numbers_squares     :', end=' ')
    print(numbers_squares)
       :
    
    squares    : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    numbers_squares     : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
                    ,         ,              
    
    squares = list(range(1, 11))
     
    print('squares    :', end='')
    print(squares)
     
    #       squares  
    numbers_squares = squares[:]
    print('numbers_squares     :', end='')
    print(numbers_squares)
     
    #  squares      100
    squares.append(100)
    print('      squares :', end='')
    print(squares)
     
    #  squares      200
    numbers_squares.append(200)
    print('      number_squares :', end='')
    print(numbers_squares)
       :
    
    squares    :[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    numbers_squares     :[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
          squares :[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100]
          number_squares :[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 200]
    

    確かに100と200がそれぞれ対応するリストに追加されていることがわかります.
    9.2タプル
    数値が可変でないリストをメタグループと呼ぶ
    9.2.1メタグループ定義
    カッコを使用してメタグループを定義します.メタグループを定義すると、インデックスを使用してメタグループ要素にアクセスできます.次のようになります.
    numbers =(100,200)
    print(numbers[0])
    print(numbers[1])
       :100, 200
    

    9.2.2メタグループ変数の変更
    メタグループの要素は変更できませんが、メタグループを格納する変数に値を割り当てることができます.
    numbers =(100,200)
    print(numbers[0])
    print(numbers[1])
    
    numbers=(200,400)
    print(numbers[0])
    print(numbers[1])
       :100, 200
    200 ,400
    

    メタグループの他の操作は裏リスト操作と同じであり、ここでは後述しない.