파이썬 리스트 문자를 숫자로 - paisseon liseuteu munjaleul susjalo

  1. 어떻게
  2. 파이썬 사용법
  3. Python에서 문자열 목록을 정수로 변환

창립일자: February-09, 2021 | 갱신일자: July-18, 2021

  1. 파이썬은map()함수를 사용하여 문자열 목록을 정수로 변환합니다
  2. 파이썬은 목록 이해 방법을 사용하여 문자열 목록을 정수로 변환

이 튜토리얼은 파이썬에서 문자열 목록을 정수 목록으로 변환하는 다양한 방법을 설명합니다. 대부분의 경우 문자열에서 숫자 데이터를 추출하여 정수로 저장해야합니다. 예를 들어, 문자열로 저장된 항목의 가격이거나 문자열로 저장된 일부 식별 번호 일 수 있습니다.

파이썬은map()함수를 사용하여 문자열 목록을 정수로 변환합니다

map(function, iterable)함수는iterable의 각 요소에function을 적용하고 반복자를 반환합니다.

문자열 목록을 정수 목록으로 변환하려면map()함수의functionint를,iterable 객체로 문자열 목록을 제공합니다. Python 3.x의map()함수는 반복자를 반환하므로list()함수를 사용하여 목록으로 변환해야합니다.

string_list = ['100', '140', '8' ,'209', '50' '92', '3']
print(string_list)

int_list = list(map(int, string_list))
print(int_list)

출력:

['100', '140', '8', '209', '5092', '3']
[100, 140, 8, 209, 5092, 3]

파이썬은 목록 이해 방법을 사용하여 문자열 목록을 정수로 변환

문자열 목록을 정수 목록으로 변환하는 데 사용할 수있는 다른 방법은 목록 이해를 사용하는 것입니다. 목록 이해는 기존 목록에서 새 목록을 만듭니다. 문자열 목록에서 정수 목록을 만들고 싶으므로 목록 이해 방법을이 용도로 사용할 수 있습니다.

아래 코드 예제는 목록 이해 방법을 사용하여 목록을 문자열에서 정수로 변환하는 방법을 보여줍니다.

string_list = ['100', '140', '8' ,'209', '50' '92', '3']
print(string_list)

int_list = [int(i) for i in string_list]
print(int_list)

출력:

['100', '140', '8', '209', '5092', '3']
[100, 140, 8, 209, 5092, 3]

관련 문장 - Python List

  • Python에서 사전을 목록으로 변환
  • Python의 목록에서 요소의 모든 발생 제거
  • Python의 목록에서 중복 제거
  • 파이썬에서 목록의 평균을 얻는 방법
  • 관련 문장 - Python String

  • Python에서 사전을 목록으로 변환
  • Python의 목록에서 요소의 모든 발생 제거
  • Python의 목록에서 중복 제거
  • 파이썬에서 목록의 평균을 얻는 방법
  • 관련 문장 - Python Integer

  • Python에서 사전을 목록으로 변환
  • Python의 목록에서 요소의 모든 발생 제거
  • Python의 목록에서 중복 제거
  • 파이썬에서 목록의 평균을 얻는 방법
  • 파이썬 리스트 문자를 숫자로 - paisseon liseuteu munjaleul susjalo

    list_a = ['1', '2', '3', '4']   -> list_a = [1, 2, 3, 4] 로 바꾸고 싶을 때,

    python 2. list_a = map(int, list_a)   

    python 3. list_a = list(map(int, list_a))

    를 해주면 된다.

    혹은 

    list_a = [int (i) for i in list_a]

    저작자표시

    'Let's Study > Python programming' 카테고리의 다른 글

    TypeError: Unicode-objects must be encoded before hashing  (0) 2020.09.12
    리스트의 문자열을 int 형태로 변환  (10) 2015.11.12

    파이썬은 쉬운 언어라는 생각 때문에 따로 연습을 많이 안 했는데 결국 일이 터졌다 ㅎㅎ

    오전에 친 코테(파이썬으로 치는 첫 코테였다)에서 10분 남겨 놓고 새 문제에 도전해 열심히 다 풀었는데 마지막에 답 return할 때 문자열로 된 숫자 리스트를 어떻게 정수형으로 반환해야 하는지를 모르겠는 것이었다.

    막연히 int()를 써주면 될 것이라고 생각해서 .append(int(i)) 이런 식으로 작성했는데 출력해보니 string으로 들어가고 있었다.

    이것 저것 시도하다가 멘붕하다가 시간 종료되면서 그냥 날아갔다. (이거랑 씨름하느라 거의 다 풀어둔 다른 문제도 하나 제출을 못 했다ㅜㅜ) 하.. 난 아직 멀었구나 자책하면서 찾아보고 바로 글을 쓴다.

    list 원소 str -> int 변환 방법

    파이썬 문자열 리스트를 정수형으로 반환하는 데는 n개 방법이 있다.

    map

    strarr = ['1', '2', '3']
    intarr = list(map(int, strarr))
    > intarr
    [1, 2, 3]

    list comprehension

    strarr = ['1', '2', '3']
    qw = [int(i) for i in strarr]
    > intarr
    [1, 2, 3]

    안녕하세요. BlockDMask입니다.
    오늘은 파이썬에서 리스트를 문자열로 변환하는 방법에 대해서 알아보려 합니다.
    리스트 내에 문자들만 있는 경우나 숫자가 섞여있는 경우에 해당 리스트를 문자열로 변환할 수 있는 방법에 대해 알아보려 합니다.
    join과 for 반복문을 이용해서 예제를 만들어 보겠습니다.

    <목차>
    1. 파이썬 join을 이용해서 리스트를 문자열로 변환
    2. 파이썬 for 반복문을 이용해서 리스트를 문자열로 변환

    1. python join 함수를 이용한 리스트 변환


    파이썬의 join 함수를 이용하면 편하게 리스트를 문자열로 변환할 수 있습니다. 
    join 함수는 제가 다른 포스팅에서 상세하게 다루었으니 여기를 참고해주세요.
    join 함수 상세 설명 : https://blockdmask.tistory.com/468

    1-1) ''.join(리스트)

    arr = ['가', '나', '다', '라', "BlockDMask", '마']
    print(arr)
    
    # 그냥 하나의 문자열로 합쳐버리기
    str = ''.join(arr)
    print(str)
    파이썬 리스트 문자를 숫자로 - paisseon liseuteu munjaleul susjalo

    위 결과를 보면 ''.join(arr) 을 이용해서 리스트의 문자, 문자열들을 모두 하나의 문자열로 변환해서 반환해 줍니다.

    1-2) '구분자'.join(리스트)

    join 앞쪽에 구분자를 넣어서 다양한 문자열을 만들어 줄 수 있습니다.

    # python list를 문자열로 변환
    arr = ['가', '나', '다', '라', "BlockDMask", '마']
    print(arr)
    
    # 쉼표를 추가해서 문자열 만들기
    print("> ',' 추가")
    str2 = ','.join(arr)
    print(str2)
    
    # 슬래시를 추가해서 문자열 만들기
    print("> '/' 추가")
    str3 = '/'.join(arr)
    print(str3)
    
    # 개행 문자를 구분자로 추가해서 문자열 만들기
    print("> '\\n' 추가")
    str4 = '\n'.join(arr)
    print(str4)
    파이썬 리스트 문자를 숫자로 - paisseon liseuteu munjaleul susjalo

    위 결과를 보면 이렇게 구분자를 추가해서 리스트의 문자열을 이쁘장하게 만들 수 있습니다.

    1-3) 리스트에 숫자가 섞여있는 경우

    파이썬 for 반복문을 한 줄로 사용하면 
    => str(s) for s in 리스트
    리스트 안에 있는 요소들을 하나씩 빼서 문자 타입으로 변환해주는 작업입니다.

    위 작업을 통해서 리스트 내부에 요소를 하나씩 문자열 타입으로 변환해서 1-1, 1-2 작업을 수행해주면 됩니다.
    예제를 한 번에 보겠습니다.

    arr = [1, 2, 3, "BlockDMask", 4, 5]
    print(arr)
    
    # 문자열 만들기
    print("> 문자열로 만들기")
    str1 = ''.join(str(s) for s in arr)
    print(str1)
    
    # 쉼표를 추가해서 문자열 만들기
    print("> ',' 추가")
    str2 = ','.join(str(s) for s in arr)
    print(str2)
    
    # 슬래시를 추가해서 문자열 만들기
    print("> '/' 추가")
    str3 = '/'.join(str(s) for s in arr)
    print(str3)
    
    # 개행 문자를 구분자로 추가해서 문자열 만들기
    print("> '\\n' 추가")
    str4 = '\n'.join(str(s) for s in arr)
    print(str4)
    파이썬 리스트 문자를 숫자로 - paisseon liseuteu munjaleul susjalo

    2. python for 반복문을 이용한 리스트 변환


    2-1) 리스트에 문자열만 있는 경우

    for 반복문을 이용해서 리스트 내부의 요소 하나하나를 문자열을 담을 변수에
    더해서 연결해주는 방법으로 리스트를 문자열로 변환할 수 있습니다.

    arr = ['가', '나', '다', '라', "BlockDMask", '마']
    print(arr)
    
    str = ''
    for s in arr:
        str += s
    
    print(str)
    파이썬 리스트 문자를 숫자로 - paisseon liseuteu munjaleul susjalo

    2-2) 리스트에 문자와 숫자가 섞여있는 경우

    for 반복문으로 요소를 받아올 때 해당 요소를 str(요소)를 통해서 해당 요소를 문자 타입으로 변환해주면 됩니다.
    이번에는 for 반복문을 포함한 로직을 함수로 만들어 보았습니다.

    # 리스트를 매개변수로 받아서, 문자열을 반환
    def convertString(arr):
        str_result = ""
        for s in arr:
            str_result += str(s)
    
        return str_result
    
    
    arr = [1, 2, 3, "BlockDMask", 4, 5]
    print(arr)
    
    str = convertString(arr)
    print(str)
    파이썬 리스트 문자를 숫자로 - paisseon liseuteu munjaleul susjalo

    2-3) for 반복문 + 구분자를 이용해서 문자열로 변환 시 특별한 처리를 하고 싶은 경우

    2-2에서 만들어준 convertString 함수에 두 번째 인자로 구분자를 받아줍니다.
    그리고 구분자가 리스트의 마지막 요소 뒤에는 들어가면 안 되기 때문에 마지막 요소를 구분해서 처리해 줍니다.
    for 반복문에서 인덱스와 값을 한 번에 얻어오기 위해서 enumerate 함수를 이용했습니다.

    # 리스트를 매개변수로 받아서, 문자열을 반환
    def convertString(arr, sep):
        str_result = ""
        for index, s in enumerate(arr):     # 인덱스, 값 한번에 받아오기
            if index + 1 == len(arr):
                str_result += str(s)        # 마지막 요소 : 구분자 없이
            else:
                str_result += str(s) + sep
    
        return str_result
    
    
    arr = [1, 2, 3, "BlockDMask", 4, 5]
    print(arr)
    
    print('> 문자열로 만들기')
    str1 = convertString(arr, '')
    print(str1)
    
    print('> "," 추가')
    str2 = convertString(arr, ',')
    print(str2)
    
    print('> "/" 추가')
    str3 = convertString(arr, '/')
    print(str3)
    
    print('> "\\n" 추가')
    str4 = convertString(arr, '\n')
    print(str4)
    파이썬 리스트 문자를 숫자로 - paisseon liseuteu munjaleul susjalo

    위처럼 파이썬 enumerate를 이용하면 for 반복문을 돌면서 현재 index(몇번째)인지와 현재 값을 동시에 얻어올 수 있습니다.
    마지막 요소를 예외 처리해서 for 반복문을 이용해서 위와 같이 구분자 작업을 할 수 있습니다.

    하지만 for 반복문을 이용해서 저렇게 복잡해 보이는 코드 대신에 1번에서 소개해드린 join 함수를 이용하면 훨씬 간편하겠죠? 

    이상으로 오늘은 파이썬 join, for를 이용해서 리스트 내부 문자, 숫자를 문자열로 변환하는 방법에 대해서 알아보았습니다.
    감사합니다.

    파이썬 리스트 문자를 숫자로 - paisseon liseuteu munjaleul susjalo