Python 문법정리_시퀀스 자료형

hjseo-dev·2021년 5월 18일
0

Python 문법정리

목록 보기
3/4
post-thumbnail

Q. 시퀀스 자료형이란?

리스트, 튜플, range, 문자열처럼 값이 연속적으로 이어진 자료형을 시퀀스 자료형(sequence types)라고 부릅니다.

1) 시퀀스 객체 다루기

  1. 두가지 시퀀스 객체 연결하기 : ' + ' 연산자를 사용
    예)
>>> a = [0, 10, 20, 30]
>>> b = [9, 8, 7, 6]
>>> a + b
[0, 10, 20, 30, 9, 8, 7, 6]
  • 단, range는 +로 연결 불가함 > 리스트, 튜플로 만들어서 연결하기
>>> 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]
  1. 두가지 시퀀스 객체 반복하기 : ' * ' 연산자를 사용

    ' * ' 연산자는 시퀀스 객체를 특정 횟수만큼 반복하여 새 시퀀스 객체를 만듭니다(0 또는 음수를 곱하면 빈 객체가 나오며 실수는 곱할 수 없습니다).

>>> [0, 10, 20, 30] * 3
[0, 10, 20, 30, 0, 10, 20, 30, 0, 10, 20, 30]
  1. 개수는 len함수 사용
>>> b = (38, 76, 43, 62, 19)
>>> len(b)
5
  1. 인덱스 접근하기 : [ ] 사용
>>> b = (38, 21, 53, 62, 19)
>>> b[0]        # 튜플의 첫 번째(인덱스 0) 요소 출력
38
  1. 리스트 요소 삭제하기 : del 사용 (튜플,range,문자열은 삭제 불가)
>>> a = [38, 21, 53, 62, 19]
>>> del a[2]
>>> a
[38, 21, 62, 19]
  1. 슬라이스 기능

    리스트의 일부를 잘라 새 리스트를 만든다. [] 안에 시작과 끝 인덱스를 지정함. 마지막 인덱스는 범위에 포함되지 않으므로 끝에 +1 을 해서 지정해야 합니다.

>>> a = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
>>> a[0:4]     # 인덱스 0부터 3까지 잘라서 새 리스트를 만듦
[0, 10, 20, 30]

요소가 10개 들어있는 리스트를 처음부터 끝까지 가져오려면 [0:9]가 아닌 [0:10]이라야 합니다(끝 인덱스는 범위를 벗어난 인덱스를 지정할 수 있습니다).

>>> a = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
>>> a[4:-1]    # 인덱스 4부터 -2까지 요소 5개를 가져옴
[40, 50, 60, 70, 80]
  • 인덱스에서 -1은 뒤에서 첫 번째 요소이며 끝 인덱스는 가져오려는 인덱스보다 1을 더 크게 지정한다고 했으므로 실제로는 뒤에서 두 번째(인덱스 -2) 요소인 80까지만 가져옵니다.(음수는 숫자가 작을 수록 큰 수입니다. 그래서 -1은 -2보다 1이 더 큽니다).
  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[:] : 요소 전체를 가져온다.

예제 문제

표준 입력으로 문자열 두 개가 각 줄에 입력됩니다(문자열의 길이는 정해져 있지 않음). 첫 번째 문자열에서 인덱스가 홀수인 문자와 두 번째 문자열에서 인덱스가 짝수인 문자를 연결하여 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다). 연결 순서는 첫 번째 문자열, 두 번째 문자열 순입니다. 그리고 0은 짝수로 처리합니다.

예시)

  • 입력
    python
    python
  • 결과
    yhnpto

정답

x = str(input())
y = str(input())
print(x[1::2]+y[0::2])

0개의 댓글