이 영역을 누르면 첫 페이지로 이동
Coding Groot 블로그의 첫 페이지로 이동

Coding Groot

페이지 맨 위로 올라가기

Coding Groot

코딩 블로그

[파이썬] 리스트 변형 :: 리스트를 원하는 형태로 바꾸기, 리스트 형변환

  • 2019.08.15 22:28
  • Programming Language/Python
글 작성자: Coding Groot

어떤 리스트를 원하는 형태로 변형하기

파이썬은 list 안의 모든 원소를 내가 원하는 형태로 변형하기 쉽다.
나는 문자열 list를 int형 리스트로 변환할 때 많이 사용한다. 특히, 백준 문제를 풀 때 input함수나 readline함수를 사용하여 숫자를 입력 받았을 때 많이 사용한다.
그 외에도 기존 list의 원소들을 모두 제곱할 때나 원하는 형태로 바꾸고 싶을 때 유용하다!!

방법 1: map 함수 사용하기

첫 번째 방법은 map내장 함수를 사용하는 것이다.

map함수는 저번에 작성한 글([파이썬] 리스트 필터링)에서 설명한 filter함수의 사용법과 비슷하다.
map함수는 한 원소에 대해 원하는 대로 변형한 것을 반환하는 함수와 변형할 대상인 list가 필요하다.

map함수는 다음과 같이 사용하면 된다.
예를 들어서, 내가 
  originalList = [2, 4, 6, 8, 10, 12]
위와 같은 list의 원소들을 모두 2로 나눈 list를 구하고 싶다고 해보자.
먼저, 숫자를 2로 나눈 것을 반환하는 함수를 만든다.
  def divideByTwo(x):
     return x/2
다음, divideByTwo함수를 인자로 하는 map함수를 쓰면 끝이다.
newList = list(map(divideByTwo, originalList))
그러면 newList의 원소들은 [1.0, 2.0, 3.0, 4.0, 5.0, 6.0]가 된다.
참고로 map함수를 list()로 감싸준 이유는 map함수는 iterable(map object)을 반환했기 때문이다. 그래서 list로 쓸려면 우리가 list로 만들어 줘야 한다.

방법 2: List Comprehension 사용하기

두 번째 방법은 List Comprehension을 사용하는 것이다.

List Comprehension에 대해서는 저번에 작성한 글([파이썬] 리스트 필터링)에서 많이 설명했으므로 사용하는 법 위주로 보여주겠다.
originalList에 있는 모든 원소들에 2를 곱한 새로운 리스트를 얻으려면 다음과 같이 할 수 있다.
  originalList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  doubledList = [2*x for x in originalList]
x라는 변수를 사용하여 originalList에 있는 모든 원소들을 반복하며 2*x의 형태로 doubledList에 저장한 것이다.
따라서, doubledList는 [2, 4, 6, 8, 10 ,12, 14, 16, 18, 20]가 된다.


More Examples

문자가 원소인 리스트 int형 리스트로 형 변환하기

방법 1: map

map함수

  • 형식: map(함수_이름, iterable)
  • map함수의 인자로 들어가는 함수는 람다를 쓰면 편하다.
  • 리턴 타입: iterator (map object)
  • Python3 내장 함수이다.
originalList = ['2', '4', '6', '8', '10', '12']
intList = list(map(int, originalList))
print(intList)
# 출력 결과: [2, 4, 6, 8, 10, 12]

방법 2: List Comprehension

List Comprehension

originalList = ['2', '4', '6', '8', '10', '12']
intList = [int(x) for x in originalList]
print(intList)
# 출력 결과: [2, 4, 6, 8, 10, 12]

Icons made by Freepik from www.flaticon.com
 
반응형

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • Rye로 파이썬 프로젝트 세팅해보기!

    Rye로 파이썬 프로젝트 세팅해보기!

    2024.07.15
  • [파이썬] Thread를 사용하기 전에 알아야 할 몇 가지 주의점들

    [파이썬] Thread를 사용하기 전에 알아야 할 몇 가지 주의점들

    2020.05.23
  • [파이썬] 리스트 필터링 :: 리스트에서 원하는 요소만 추출하기

    [파이썬] 리스트 필터링 :: 리스트에서 원하는 요소만 추출하기

    2019.08.10
다른 글 더 둘러보기

정보

Coding Groot 블로그의 첫 페이지로 이동

Coding Groot

  • Coding Groot의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록
  • 소개
  • 블로그 저작권

카테고리

  • 분류 전체보기 (182)
    • Git (23)
      • Git Tutorial (9)
      • Git Note (7)
      • Git Lecture (7)
    • Programming Language (1)
      • C (2)
      • C Sharp (5)
      • Java (4)
      • JavaScript (7)
      • Julia (5)
      • Python (4)
    • Programming (8)
      • Algorithm (2)
      • Compiler (5)
      • Data Structure (0)
      • Web (12)
      • NestJS (2)
    • DevOps, Infra (36)
      • Apple (6)
      • Cloud (15)
      • Database (1)
      • Network (4)
      • Linux (8)
    • Game Programming (11)
      • Unity Tutorial (5)
      • Unity Note (6)
    • Hardware Design (1)
      • Digital Circuit (1)
    • Note (49)
      • Coffee (2)
      • Retrospect (15)
      • Reading List (14)
    • Mathematics (1)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • tutorial
  • aws
  • 회고
  • git
  • 서평
  • Github
  • javascript
  • 한빛미디어
  • 전체 보기…

정보

Coding Groot의 Coding Groot

Coding Groot

Coding Groot

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기

나의 외부 링크

  • GitHub
  • SlideShare
  • 유니티 2020 수업
  • TIL Blog
  • 모도코

방문자

  • 전체 방문자
  • 오늘
  • 어제
Powered by Tistory / Kakao. Copyright © Coding Groot.

티스토리툴바