[python] split() 함수와 map() 함수

세하·2023년 10월 2일
0

python

목록 보기
1/2
post-thumbnail

split() 함수

정의
특정 문자로 쪼개서 문자열 리스트 형식으로 되돌려준다

사용법

sampleList = input('1 2 3 4 5라고 입력: ').split(' ')
print(sampleList)

결과

1 2 3 4 5라고 입력: 1 2 3 4 5
['1', '2', '3', '4', '5']

map() 함수

정의

map함수란 여러개의 데이터를 입력받아 각각 함수를 적용하여 반환된 결과값(iterable한 데이터값만을 반환)을 반환하는 내장함수

map(function, iterable)

function -> 적용시킬 함수. int같은 내장함수일수도, 내가 정의한 함수일수도.
iterable -> '반복가능한' 즉, 여러개의 순차적인 데이터로 이루어진 객체가 들어감
iterable의 각 요소에 대해 function함수 처리를 해서 새로운 iterator로 반환
map의 결과값은 새로운 iterator의 각 요소값

a,b,c = map(int,input().split())

  1. input()으로 '5 8 4' 라는 문자열을 입력받고
  2. split() 함수로 공백을 기준으로 문자열을 나눈 후
  3. 각각의 요소들을 int형으로 바꾸는 function을 적용시켜서 map의 결과값으로 저장하여 각각 a b c 변수에 저장

예제

map함수 이용하여 리스트에 여러 연산값을 적용하는 예제

list1 = [1,2,3,4,5]

def multiply(x):
    return x*3

list2 = list(map(multiply, list1))
print(list2)

결과값 -> [3, 6, 9, 12, 15]

  1. map함수 이용하여 multiply함수 적용한 결과를 반환 후

  2. list함수 사용하여 배열로 바꾸어 새로운 list를 생성함

    map함수 자체는 iterable한 데이터값만을 반환하기 때문에 list함수 사용하여 list자료형으로 바꿔줘야 함

여러개의 인자 사용 가능

list1 = [1,2,3,4,5]
list2 = [10,20,30,40,50]

def listSum(x,y):
    return x+y

list3 = list(map(listSum, list1, list2))
print(list3)

결과값 -> [11, 22, 33, 44, 55]

list1과 list2 각각의 원소를 추출하여 map함수의 function 인자에 넣을 수 있음

0개의 댓글