포스팅 이름이 참 복잡하고 길고 무슨 말인지 어설프네요.


간단하게 이번 포스팅에서 정리할 내용은 예를 통해서 ..


1. 아래와 같은 문자열이 존재...

    "1, 2, 3, 4, 5, 6, 7, ......" 


2. 문자열을 콤마(,)로 잘라서 리스트에 입력 (python split 사용)

   ['1', '2', '3', '4', '5', '6', '7' ......] 


3. 사실 1번에 작성한 문자열을 잘라서 숫자로 사용하고 싶은데 python split을 하면 문자 '1', '2', '3' 으로 저장됨

    근데 실제로 가지고 싶은 리스트는 [1, 2, 3, 4, 5, 6, 7, ..... ]임 



일단 split 함수에 대해서 간단하게 이야기하고 넘어가야 합니다. 

python에서 문자열을 특정 문자를 기준으로 잘라서 리스트에 입력해주는 내장 함수가 존재하는데요. 그게 split 함수입니다. 


split 사용 방법은 str.split([sep[, maxsplit]])  입니다. 

예로 아래와 같이 사용할 수 있습니다. 


Python 2.7.6

>>> aaa = "1, 2, 3, 4, 5, 6, 7".split(',')

>>> print aaa

['1', ' 2', ' 3', ' 4', ' 5', ' 6', ' 7']


리스트에 문자 '1', ' 2', ' 3', ' 4', ' 5', ' 6', ' 7' 로 저장되는 것을 볼 수 있습니다. 


그렇다면 실제로 가지고 싶은 리스트인 [1, 2, 3, 4, 5, 6, 7]을 가지기 위해서 map 함수를 사용하도록 하겠습니다. 


map 함수에 대해서 한글로 아주 쉽게 설명된 곳이 있어요.  https://wikidocs.net/64

간단하게 말씀드리면 map 함수는 2개의 인자를 받는데요. 하나는 함수, 하나는 리스트입니다.
그래서 리스트의 각 요소를 함수에다가 집어넣고 돌려주는 거죠. 

그래서 결론입니다. 

Python 2.7.6
>>> aaa = "1, 2, 3, 4, 5, 6, 7".split(',')
>>> print aaa
['1', ' 2', ' 3', ' 4', ' 5', ' 6', ' 7']
>>>
>>> bbb = map(int, aaa)
>>> print bbb
[1, 2, 3, 4, 5, 6, 7]


  1. 지나가던 사람 2015.12.04 21:31

    감사합니다. 도움이 되었습니다.

+ Recent posts