python 3第十七章-sequence(シーケンス)

14400 ワード

前にforループ文でシーケンスについて話しましたが、シーケンスとは何ですか.
シーケンスはPythonで最も基本的なデータ構造です.シーケンス内の各要素には、最初のインデックスが0、2番目のインデックスが1の数値が割り当てられます.
  • Pythonには、リスト、メタグループ、文字列、Unicode文字列、bufferオブジェクト、rangeオブジェクト(python 3でrangeがキャンセルされ、xrangeがrangeに再命名された)の6つのシーケンスの内蔵タイプがあります.
  • シーケンスで実行できるアクション:インデックス、スライス(スライス)、シーケンス加算、乗算、メンバーシップ(チェックメンバー)、長さ、最小値、最大値
  • .
     
    1.索引
    シーケンス内のすべての要素には番号が付けられています.0から増加します.シーケンスの要素は、番号付けで個別にアクセスできます.Pythonのシーケンスは右からインデックスを開始することもでき、最も右の要素のインデックスは-1で、左から減少します.
    例:
    greeting = 'Hello'
    print('greeting[2]', greeting[2])
    print('greeting[-1]', greeting[-1])
    
    language = ['c', 'c++', 'python', 'c#']
    print('language[2]', language[2])

    以上のコード、出力:
    greeting[2] l
    greeting[-1] o
    language[2] python

     
    2、スライスインデックスは単一の要素にアクセスするために使用され、スライスで一定範囲の要素にアクセスすることができ、スライスはコロンで隔てられた2つのインデックスによって実現される.スライス操作の実装には、2つのインデックスを境界として提供する必要があります.1つ目のインデックスの要素はスライス内に含まれ、2つ目はスライス内に含まれません.
    例:
    number = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    #             
    print('number[2:4]:', number[2:4])
    
    #            
    print('number[-4:-1]:', number[-4:-1])
    
    #
    print('number[-4:]:', number[-4:])
    
    #   ,        ,           
    print('number[:3]:', number[:3])
    
    #         ,   1,       1,        
    print('number[0:10:1]:', number[0:10:1])
    
    #        2,            
    print('number[0:10:2]:', number[0:10:2])
    
    #
    print('number[10:0:-1]:', number[10:0:-1])
    print('number[10:0:-2]:', number[10:0:-2])

    以上のコード、出力:
    number[2:4]: [3, 4]
    number[-4:-1]: [7, 8, 9]
    number[-4:]: [7, 8, 9, 10]
    number[:3]: [1, 2, 3]
    number[0:10:1]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    number[0:10:2]: [1, 3, 5, 7, 9]
    number[10:0:-1]: [10, 9, 8, 7, 6, 5, 4, 3, 2]
    number[10:0:-2]: [10, 8, 6, 4, 2]

    正のステップの場合、Pythonはシーケンスの先頭から右にエレメントを抽出し、最後のエレメントまで負のステップの場合、シーケンスの末尾から左にエレメントを抽出し、最初のエレメントまで
     
    3、シーケンス加算
    number = [1, 2, 3, 4, 5]
    number2 = [6, 7, 8, 9, 10]
    
    greeting = ['hello', 'world']
    greeting2 = ['python']
    
    print('number + number2:', number + number2)
    print('greeting + greeting2:', greeting + greeting2)
    print('number + greeting:', number + greeting)

    以上のコード、出力:
    number + number2: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    greeting + greeting2: ['hello', 'world', 'python']
    number + greeting: [1, 2, 3, 4, 5, 'hello', 'world']

    3行目の出力からpython 3.6では、異なるデータ型のシーケンスも加算できますが、minとmaxで最小値と最大値を探すとエラーが発生するので、このように使用しないでください.
     
    4、乗算
    数字nで1つのシーケンスを残すと新しいシーケンスが生成され、新しいシーケンスでは元のシーケンスがn回繰り返される.
    number = [1, 2, 3, 4, 5]
    greeting = ['hello', 'world']
    
    print('number * 2:', number * 2)
    print('greeting * 3', greeting * 3)

    以上のコード、出力:
    number * 2: [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
    greeting * 3 ['hello', 'world', 'hello', 'world', 'hello', 'world']

     
    5、メンバーシップ
    in演算子を使用して、値がシーケンス内にあるかどうかを確認し、そこにある場合はTureを返し、いない場合はFalseを返します.
    greeting = ['hello', 'world']
    
    if 'hello' in greeting:
        print('\'hello\'   greeting  ')
    else:
        print('\'hello\'    greeting  ')
    
    if 'python' in greeting:
        print('\'python\'   greeting  ')
    else:
        print('\'python\'    greeting  ')

    以上のコード、出力:
    'hello'   greeting  
    'python'    greeting  

     
    6、長さ、最小値、最大値
    組み込み関数len、min、maxは、シーケンスに含まれる要素の数、シーケンス内の最小要素、およびシーケンス内の最大要素をそれぞれ返します.
    number = [1, 2, 3, 4, 5]
    greeting = ['hello', 'world']
    
    print('max(number):', max(number))
    print('min(number):', min(number))
    print('len(number):', len(number))
    
    print('max(greeting):', max(greeting))
    print('min(greeting):', min(greeting))
    print('len(greeting):', len(greeting))

    以上のコード、出力:
    max(number): 5
    min(number): 1
    len(number): 5
    max(greeting): world
    min(greeting): hello
    len(greeting): 2