본문 바로가기

Progremming Study/python

Python 제어문 _ 반복문 _ for , 인덱싱

728x90

반복문?

1. for문        :     반복 횟수 명확 O

2. while문     :     반복 횟수 명확 X

 

for문

for [ ] in [ ] :

    [ 종속 문장 ]

# ',' 를 사용하여 묶어줌

 

ex)

for i in [1,2,3,'s',True]         # 리스트 자료형

for i in (1,2,3,'d',True)        # 튜플 자료형

 

반복문과는 무슨 관계?      interable 하다

str, list, tuple, set, dict

 

for [ 반복문에서 사용될 변수 ] in [ interable 자료형 ] :

    [ 종속 문장 ]

 

# 반복 횟수 : 자료형이 크기만큼 종속 문장 실행

# 반복문에서 사용될 변수 : 자료형 내 자료들

 

ex)

for i in [1,2,3,4,5] :

   print(i)

1

2

3

4

5

 

li = [1,2,3,'hello',True]

for i in li :

   print(i)

1

2

3

hello

True

 

 

Python에서 순서가 있는 자료형 3가지              # 자료들의 자료형, 자료마다 순서가 있음 (subscriptable)

1. str

2. list          a = [ ]

3. tuple       a = ( )

 

index      :     자료의 번호표 (컴퓨터는 0부터 시작)

앞부터 시작 

0 ~ N-1

ex)

a = [1,2,3,'a','b',True]              => a [2] = 3

b = (1,2,3,'a','b',True)              => b(4) = 'b'

# b의경우 0=1, 1=2, 2=3, 5=True

 

' - ' index 존재

뒤부터 시작

N-1 ~ -1

ex)

a = [1,2,3,4,5]                      => a[-2] = 4

 

인덱싱?

-> 인덱스를 이용해서 자료에 접근하는 행위

[ index ]     :     대괄호 안에 있는 것

IndexError -  list index out of range   :   인덱스가 없음

 

# 사용자의 입력과 인덱스의 괴리로 인해 코드가 이상해질 수 있으므로 사용자의 입력값에 -1을 해야 함

(# 컴퓨터는 0부터, 사람은 1부터 시작하기 때문)

ex) 

hero = ['1. 아이언맨', '2. 스파이더맨]

print(hero)

user = int(input('영웅 선택: ')

print(hero [user-1]

>>> user은 1을 선택했지만 컴퓨터는 0부터 시작하기 때문에 -1 필요!

 

* 리스트 자료형과 튜플 자료형의 차이점

리스트 자료형은 자료 변경 O

튜플 자료형은 자료 변경 X

 

 

728x90