「python基礎チュートリアル」ノートのシーケンス共通操作

9545 ワード

  • インデックス
  • シーケンス内のすべての要素には番号が付けられています.0から増加します.負のインデックスを使用すると、Pythonは右側、つまり最後の要素からカウントされ、最後の要素の位置番号は-1です.また、文字列は文字からなるシーケンスで、文字列の文字面値はインデックスを直接使用することができます.関数呼び出しがシーケンスを返す場合は、戻り結果を直接インデックス操作できます.のように
    #                  
    
    months = ['January', 'February', 'march', 'May', 'June', 'August', 'September',
    
              'October', 'November', 'December']
    
    # 1-31          
    
    endings = ['st', 'nd', 'rd'] + 17*['th'] + ['st', 'nd', 'rd'] + 7*['th'] + ['st']
    
    
    
    year = raw_input('Year: ')
    
    month = raw_input('month(1-12): ')
    
    day = raw_input('Day(1-31): ')
    
    
    
    month_number = int(month)
    
    day_number = int(day)
    
    
    
    #         1,        
    
    month_number = months[month_number-1]
    
    ordinal = day + endings[day_number-1]
    
    
    
    print month_number + ' ' + ordinal + ', ' + year

    結果
    Year: 1985month(1-12): 2Day(1-31): 5February 5th, 1985
  • スライス
  • スライス操作は一定範囲の要素にアクセスでき、スライスはコロンで区切られた2つのインデックスで実現され、最初のインデックスは抽出する必要がある最初の要素の番号であり、最後のインデックスはスライスの後の残りの部分の最初の要素の番号である.
    >>> numbers = [1,2,3,4,5,6,7,8,9]>>> numbers[3:6][4, 5, 6]
    スライスされた部分にシーケンスの最後の要素が含まれている場合は、最後のインデックスを空にするだけで、シーケンスの最初の要素にも適用されます.
    >>numbers=[1,2,3,4,5,6,7,8,9]>>numbers[7:][8,9]>>numbers[:3][1,2,3]通常のスライスでは、ステップ長は暗黙的に1に設定されている.正のステップ長の場合、Pythonはシーケンスのヘッダから最後のエレメントまで右にエレメントを抽出します.負のステップ長では、最初の要素、たとえば
    >>> numbers = [1,2,3,4,5,6,7,8,9]>>> numbers[0:3:1][1, 2, 3]
    >>> numbers[3:0:-1][4, 3, 2]
  • 加算
  • プラス記号はシーケンスの接続操作を行うことができます.シーケンスのタイプは同じでなければなりません.
    >>> [4, 3, 2]+[8, 9][4, 3, 2, 8, 9]>>> 'hello '+'world''hello world'>>> [8, 9] + 'world'
    Traceback (most recent call last):  File "", line 1, in     [8, 9] + 'world'TypeError: can only concatenate list (not "str") to list
  • 乗算
  • 数値xにシーケンスを乗算すると、新しいシーケンスが生成されます.新しいシーケンスでは、元のシーケンスがx回繰り返しられます.
    >>> 5 * 'hl''hlhlhlhlhl'
    []  -- 空のリスト、中には何もありません
    None --  要素は何も入っていません
    >>> seq = 10*[None]>>> seq[None, None, None, None, None, None, None, None, None, None]
     
    #          “  ”       
    
    sentence = raw_input("Sentence: ")
    
    
    
    screen_width = 80
    
    text_width = len(sentence)
    
    box_width = text_width + 6
    
    left_margin = (screen_width - box_width) // 2
    
    
    
    print
    
    print ' ' * left_margin + '+'  + '-' * (box_width - 4) +  '+'
    
    print ' ' * left_margin + '| ' + ' ' * text_width      + ' |'
    
    print ' ' * left_margin + '| ' + sentence              + ' |'
    
    print ' ' * left_margin + '| ' + ' ' * text_width      + ' |'
    
    print ' ' * left_margin + '+'  + '-' * (box_width - 4) +  '+'
    
    print

     
    結果
    Sentence: He's a very naughty boy!
                             +--------------------------+                         |                                      |                         | He's a very naughty boy! |                         |                                      |                         +--------------------------+
  • メンバーシップ
  • in演算子を使用して、シーケンス内の値が存在するかどうか、戻りTrueが存在するかどうか、戻りFalseが存在しないかどうかを確認します.
    >>> numbers = [1,2,3,4,5,6,7,8,9]>>> 8 in numbersTrue>>> 34 in numbersFalse
     
  • 長さ、最小値、最大値
  • len--シーケンスに含まれる要素の数を返します.
    min--シーケンスの最小要素を返します
    max--シーケンス内の最大要素を返します
    のように
    >>> numbers = [1,2,3,4,5,6,7,8,9]>>> len(numbers)9>>> min(numbers)1>>> max(numbers)9