Ming's blog

실전 데이터 분석1_(for 반복문, 인덱싱, 문자열 함수) 본문

프로그래밍 기본 문법/Python

실전 데이터 분석1_(for 반복문, 인덱싱, 문자열 함수)

H._.ming 2020. 6. 10. 16:37
반응형

1. for 반복문

: list 내에서 원소를 하나씩 가져올 때 사용하는 함수

 

* range(n) : 0에서 n-1까지의 숫자

# 0부터 9까지 출력하기
>>> for num in range(10):
    	print(num,end=' ')
    
# 0 1 2 3 4 5 6 7 8 9 

range(10) = 0 ~ 9까지의 숫자

# 리스트 내의 단어 하나씩 가져오기
>>> colors=['흰색','빨강','주황','노랑']
>>> for i in range(len(colors)):
    	print('색 '+str(i+1)+':'+ colors[i])
    
#색 1:흰색
#색 2:빨강
#색 3:주황
#색 4:노랑

len(colors) : colors 리스트의 길이(4)

 

2. 인덱싱

: 데이터의 일부분을 가져올 때 사용하는 함수

* data[i:j] : data의 index=i 원소~ data의 index=j-1 원소

ex) colors[1:3] : colors 리스트의 두 번째 원소 ~ 세 번째 원소

# 리스트의 일부분 가져오기
>>> colors=['흰색','빨강','주황','노랑']
>>> print('colors : ',colors)

#colors :  ['흰색', '빨강', '주황', '노랑']

>>> last_color = colors[-1] #마지막원소
>>> print('colors[-1] : ',last_num)

#colors[-1] :  노랑

>>> rainbow = colors[1:3] #index1~2
>>> print('colors[1:3] : ',rainbow)

#colors[1:3] :  ['빨강', '주황']

>>> no_white = colors[1:] #첫번째 원소 제거
>>> print('colors[1:] : ',no_white)

#colors[1:] :  ['빨강', '주황', '노랑']

>>> no_yellow=colors[:3] #마지막 원소 제거
>>> print('colors[:3] : ',no_yellow)

#colors[:3] :  ['흰색', '빨강', '주황']

 

# 문자열의 일부분 가져오기
>>> my_name = 'ming'
>>> print('my_name : ', my_name)#my_name :  ming
>>> print('my_name[3] : ',my_name[3])#my_name[3] :  g
>>> print('my_name[:3] : ',my_name[:3])#my_name[:3] :  min

 

3. 문자열 함수

1) .startswith()

: 첫 글자를 확인하는 함수

* data.startswith('a') : data가 a로 시작하는지 확인하는 함수(True/False로 결과 반환)

# 단어의 첫글자 확인하기
>>> word = 'switzerland'
>>> print(word.startswith('s')) #True
>>> if word.startswith('a'):
	    print(word,'는 a로 시작하는 단어입니다.')
    else:
    	print(word,'는 a로 시작하지않는 단어입니다.')
    
#True
#switzerland 는 a로 시작하지않는 단어입니다.

2) .split()

: 일정 단위 기준으로 문자열 분리하기

- 기본 단위는 공백!

#공백 단위로 분리하기
>>> intro = 'My name is Ming.'
>>> print(intro.split())

#['My', 'name', 'is', 'ming.']

#',' 단위로 분리하기
>>> colors='흰색,빨강,주황,노랑'
>>> print(colors.split(','))

#['흰색', '빨강', '주황', '노랑']

기본 단위를 사용할 경우, 공백이 모두 제거된다!

# 공백이 많은 문자열
>>> numbers='       1  2    3  4       '
>>> print(numbers.split()) #공백 제거

#['1', '2', '3', '4']

>>> print(numbers.split(' ')) #공백 제거x

#['', '', '', '', '', '', '', '1', '', '2', '', '', '', '3', '', '4', '', '', '', '', '', '', '']

3) .append()

: 새로운 요소를 추가할 때 사용하는 함수

# 새로운 요소 추가하기
>>> 구구단=[]
>>> 구구단.append(3)
>>> print(구구단) #[3]

>>> 구구단.append(6)
>>> print(구구단) #[3, 6]
>>> 구구단 = [3,6,9,12,15]
>>> small_numbers=[]
>>> for num in 구구단:
	# num이 10보다 작으면 추가!
    	if num<10:
        	small_numbers.append(num)
>>> print(small_numbers) #[3, 6, 9]

4) .upper() & .lower()

: 문자의 대소문자 변환하기

* .upper : 소문자 -> 대문자

  .lower : 대문자 -> 소문자

 

원래의 문자열을 수정하지 않는다! 

수정을 원할 경우, 따로 저장해야 한다. 

#대소문자 변환하기
>>> intro = 'My name is Ming.'
>>> print(intro.upper()) #MY NAME IS MING.
>>> print(intro.lower()) #my name is ming.
>>> print(intro) #My name is Ming.  # 원래의 문자열을 수정하지 않는다.
>>> lower_intro=intro.lower()
>>> print(lower_intro) #my name is ming.

5) .replace()

원래의 문자열을 수정하지 않는다! 

수정을 원할 경우, 따로 저장해야 한다. 

# 문자 바꾸기
>>> intro = 'My name is 밍.'
>>> print(intro.replace('밍','Ming')) #My name is Ming.
>>> print(intro) #My name is 밍. # 원래의 문자열을 수정하지 않는다.
반응형
Comments