Python構文整理シーケンスデータ型


Q.シーケンスデータ型とは?


値が連続するデータ型(リスト、凡例、range、文字列など)をシーケンスデータ型(sequence types)と呼びます.

1)シーケンスオブジェクトの処理

  • 演算子「+」を使用して2つのシーケンスオブジェクトを接続
    例)
  • >>> a = [0, 10, 20, 30]
    >>> b = [9, 8, 7, 6]
    >>> a + b
    [0, 10, 20, 30, 9, 8, 7, 6]
  • ただし、rangeは+>リストに接続できず、tuple
  • に作成および接続できません.
    >>> list(range(0, 10)) + list(range(10, 20))
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
  • 2つのシーケンスオブジェクトを繰り返します.「*」演算子を使用します.
    演算子「*」は、シーケンスオブジェクトの特定の回数を繰り返して新しいシーケンスオブジェクトを作成します(0または負の値に空のオブジェクトを乗算し、実数を乗算することはできません).
  • >>> [0, 10, 20, 30] * 3
    [0, 10, 20, 30, 0, 10, 20, 30, 0, 10, 20, 30]
  • 個数使用len関数
  • >>> b = (38, 76, 43, 62, 19)
    >>> len(b)
    5
  • アクセスインデックス:[]
  • を使用
    >>> b = (38, 21, 53, 62, 19)
    >>> b[0]        # 튜플의 첫 번째(인덱스 0) 요소 출력
    38
  • リスト要素の削除:del(tuple、range、文字列は削除できません)
  • の使用
    >>> a = [38, 21, 53, 62, 19]
    >>> del a[2]
    >>> a
    [38, 21, 62, 19]
  • Slice機能
    リストの一部を切り取って新しいリストを作成します.[]でインデックスの開始と終了を指定します.最後のインデックスは範囲外なので、末尾に1を追加して指定する必要があります.
  • >>> a = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
    >>> a[0:4]     # 인덱스 0부터 3까지 잘라서 새 리스트를 만듦
    [0, 10, 20, 30]
    10個の要素を含むリストを最初から最後までインポートするには、[0:10]ではなく[0:10]でなければなりません(終了インデックスは範囲外のインデックスを指定できます).
    >>> a = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
    >>> a[4:-1]    # 인덱스 4부터 -2까지 요소 5개를 가져옴
    [40, 50, 60, 70, 80]
  • informixは、-1が後の最初の要素であることを示し、インデックス指定を終了するインデックスは、インポートするインデックス1よりも大きいため、実際には後の2番目の(informix-2)要素80のみがインポートされる.(負の値は、数字が小さいほど大きくなります.したがって-1は-2より1大きいです).
  • 使用増幅
  • インデックスの増幅は、要素の値の増幅ではありません.
    シーケンスオブジェクト[開始インデックス:終了インデックス:インデックス増幅]
  • 例)要素をインポートすると、インデックスが3増加します.
    >>> a = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
    >>> a[2:8:3]    # 인덱스 2부터 3씩 증가시키면서 인덱스 7까지 가져옴
    [20, 50]
    まず、開始インデックスが2なので、20からインポートします.インデックス増幅が3に指定されているため、インデックス5の50、インデックス8の80をインポートできます.ただし、終了インデックスは8として指定されているため、インデックス7のみがインポートされます.だから20万と50万を出して[20,50]
    a[:7]:インデックス6への開始
    a[7:]:7番から最後の要素にインポートします.
    a[:]:要素全体をインポートします.

    例題


    行ごとに2つの文字列を標準入力として入力します(文字列の長さは不確定).最初の文字列のインデックスが奇数の文字と、2番目の文字列のインデックスが偶数の文字とを関連付けて出力するプログラムを作成します(入力ではブート文字列は出力されません).接続順序は、1番目の文字列、2番目の文字列です.そして0は偶数に処理される.
    例)
  • 入力
    python
    python
  • 結果
    yhnpto
  • 正解
    x = str(input())
    y = str(input())
    print(x[1::2]+y[0::2])