본문 바로가기
IT 이것저것/파이썬python

파이썬Python 리스트 타입의 슬라이싱 및 if 제어문

by KaNonx카논 2017. 4. 22.
반응형

 

파이썬Python 리스트 타입의 슬라이싱 및 if 제어문

 


요번에는 리스트 타입과 튜플 타입에서 일부를 빼 오는 슬라이싱에 대해서 설명하고자 합니다!

 

슬라이싱은 인덱스 범위 값을 이용해서 순차 데이터 타입의 일부를 추출하는 것을 말합니다.

 

 

슬라이싱의 문법은

 

순차_데이터[ [시작] : [끝]: [단계] ]

 

이런 꼴로 생겼습니다.

 

몇가지 주의사항이 있는데, 예문을 보면서 설명하겠습니다!

 

 

EX)

number = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

 

>>> number[1:9:1]
[1, 2, 3, 4, 5, 6, 7, 8]

 

>>> number[1:9]
[1, 2, 3, 4, 5, 6, 7, 8]

 

>>> number[1:9:2]
[1, 3, 5, 7]

 

>>> number[9:1:-2]
[9, 7, 5, 3]

 

>>> number[-1:-11:-2]
[10, 8, 6, 4, 2]

 

컨테이너 타입 안에서 순서를 세려면 0부터 세야하는 것을 유념하셔야 합니다!

 

즉, 위의  number = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]에서

 

0을 불러오기 위해서는 number[1]이 아닌

 

number[0]을 입력해야 한다는 겁니다.

 

반대로 10을 불러오기 위해서는 number[10]을 입력해도 되지만,

 

number[-1]을 입력해도 10을 불러 올 수 있습니다.

 

 

본격적인 슬라이싱 문법을 들여다 보겠습니다.

 

number[1:9:1]에서 단계를 뺀 number[1:9]으로 작성해도 값은 같습니다.

 

단계는 특별한 경우가 아니면 생략이 가능하다는 뜻이죠

 

반대로, number[1:9:2]라 입력하면 시작하는 자리의 숫자부터

 

[1, 3, 5, 7] 처럼 2칸 씩 띄워진 값을 슬라이싱 해 오게 되는겁니다.

 

 

그리고 개인적으로 파이썬의 꽃이라고 생각하는 if 제어문에 대해서 알아보겠습니다.

 

if의 조건문의 기본 구조는 아래와 같이 else와 짝이 되는 경우가 많습니다.

if 조건문:
    수행할 문장1
    수행할 문장2
    ...
else:
    수행할 문장A
    수행할 문장B


if는 아시다시피 조건을 판단하여 해당 조건에 맞는 상황을 수행하는 데 쓰이는 것입니다.

 

if 조건문 뒤에는 반드시 콜론(:)을 붙이는 것도 잊지 맙시다!!

 

if 제어문을 이용하면 정말로 간단한 짝수, 홀수 분별 프로그램을 만들 수 있습니다.

 

number = int(input(“숫자를 입력하시오: ”))

 

if number % 2 == 0:
    print(“입력된 값은 짝수입니다.”)
else:
    print(“입력된 값은 홀수입니다.”)

 

input으로 정수(int)를 입력 받아서

 

그 정수가 2로 나누어 떨어지면 짝수, 나머지가 남으면 홀수라고 출력되는 제어문입니다.

 

 

다른 예를 하나 더 들어 볼까요

 

score = int(input(“점수 입력: ”))

 

if score >= 70:
    print(“합격”)
else:
    print(“불합격”)

 

print(“힘내세요”)

 

이렇게 점수를 입력함으로써 합격, 불합격 여부를 나타내는 제어문을 짜 보았습닏.

 

score 가 70점 이거나 70점 보다 높을 때는 합격

 

위의 조건에 해당하지 않을 때는 불합격이라고 출력되게 됩니다.

 

여기서 하나의 포인트는!

 

맨 아래의 print(“힘내세요”) 탭이나 스페이스 바 4번으로 들여쓰기를 하지 않아

 

if 제어문에 속하지 않게 되므로

 

조건을 만족하든 만족하지 못하든 = 합격, 불합격 아래에 출력됩니다.

 

 

-

반응형

댓글