파이썬 리스트(List) #2 길이 확인, 요소 순회 및 처리
천둥상어
·2023. 12. 4. 22:52
"파이썬 리스트를 순회하면서 요소를 처리 하는 방법입니다."
len(리스트) : 리스트 길이 가져오기
리스트의 요소수를 반환합니다.
number = [0,1,2,3,4,5]
print( len(number) ) # 6
for문을 사용하여 인덱싱으로 처리
다른 언어와 마찬가지로 for문으로 리스트를 순회하며 원하는 인덱싱의 요소를 처리 할 수 있습니다.
반복을 위한 리스트의 길이는 len() 사용하여 가져옵니다.
number = [1,2,3,4,5]
for index in range(len(number)):
print(index) # 0 ... 4 까지 출력
number[index ] += 1 # 1씩 증가
print(number) # [2,3,4,5,6]
map(처리를 하는 함수, 리스트) : 리스트를 차례로 함수 처리
map()은 리스트를 차례대로 지정한 함수를 통해 동일한 처리를 할 때 사용합니다.
아래 코드는 number의 요소를 차례로 함수 testFnc에 넘겨서 '짝수' ,'홀수' 여부를 돌려주고 있습니다.
number = [1,2,3,4,5]
def testFnc(x):
if x % 2 == 0 :
return '짝'
else :
return '홀'
result = list(map(testFnc,number))
print(result) # ['홀', '짝', '홀', '짝', '홀']
map() 사용시 주의할 점은 요소 전체에 동일한 처리를 한다는 것입니다.
리스트의 길이가 5라면 결과값의 길이도 5개가 반환됩니다.
짝수만 반환하도록 코드를 수정하고 출력하면 결과는 다음과 같습니다.
number = [1,2,3,4,5]
def testFnc(x):
if x % 2 == 0 :
return '짝'
result = list(map(testFnc,number))
print(result) # [None, '짝', None, '짝', None]
map()은 어떠한 조건에도 부합하지 않는 요소는 None 을 반환합니다.
홀수일 경우 리턴 처리를 하지 않아도 None이 리턴되어 반환되는 것을 확인할 수 있습니다.
만약 원하는 조건만 리턴 받고 싶다면 map() 아닌 filter()를 사용해야 합니다.
filter(요소를 고르는 함수, 리스트)
filter()는 조건에 맞는 요소만 추출하여 반환 합니다.
number = [1,2,3,4,5]
def testFnc(x):
if x % 2 == 0 :
return '짝'
result = list(filter(testFnc,number))
print(result) # [2, 4]
filter()는 map()과는 다르게 조건에 부합하는 요소만 모아서 반환을 합니다.
이점이 filter()와 map()의 차이 입니다.
'프로그래밍 > Python 기초' 카테고리의 다른 글
파이썬 클래스(Class) (0) | 2023.12.20 |
---|---|
파이썬 예외 처리(Exception) 코드의 안정성을 높이는 방법 (0) | 2023.12.14 |
파이썬 딕셔너리(Dictionary) (0) | 2023.12.12 |
파이썬 설치와 VSC 인터프리터 설정 (2) | 2023.12.09 |
파이썬 리스트(List) #1 생성, 접근, 추가, 삭제 (1) | 2023.12.03 |