파이썬 여러 리스트 합치기 - paisseon yeoleo liseuteu habchigi

두개의 리스트를 하나로 병합하는 방법을 소개합니다.

+ 연산자를 이용한 방법

다음과 같이 + 연산자를 이용하여 두개의 리스트를 하나로 합칠 수 있습니다.

list1 = [10, 22, 19]
list2 = [2, 9, 3]

list3 = list1 + list2
print(list3)

Output:

extend()를 이용한 방법

다음과 같이 extend() 연산자를 이용하여 두개의 리스트를 하나로 합칠 수 있습니다. + 연산자와 다르게 새로운 리스트를 리턴하지 않고, list1에 list2의 내용이 추가됩니다.

list1 = [10, 22, 19]
list2 = [2, 9, 3]

list1.extend(list2)
print(list1)

Output:

map()을 이용한 방법

만약 다음과 같이 list1list2merged_list처럼 만드려고 할 때는 map()을 사용할 수 있습니다. 같은 위치의 list끼리 병합됩니다.

list1 = [[1, 10], [2, 22], [3, 19]]
list2 = [[4, 2], [5, 9], [6, 3]]
merged_list = [[1, 10, 4, 2], [2, 22, 5, 9], [3, 19, 6, 3]]

다음과 같이 구현할 수 있습니다.

list1 = [[1, 10], [2, 22], [3, 19]]
list2 = [[4, 2], [5, 9], [6, 3]]

list3 = list(map(list.__add__, list1, list2))
print(list3)

Output:

[[1, 10, 4, 2], [2, 22, 5, 9], [3, 19, 6, 3]]

flatten

위의 예제에서, 내부 리스트의 모든 데이터를 하나의 리스트로 만드려면(flatten) itertools를 이용하면 됩니다. flatten을 적용하려면 chain(*list3)처럼 *를 리스트에 붙여주어야 합니다.

import itertools

list1 = [[1, 10], [2, 22], [3, 19]]
list2 = [[4, 2], [5, 9], [6, 3]]

list3 = list(map(list.__add__, list1, list2))
list4 = list(itertools.chain(*list3))
print(list4)

Output:

[1, 10, 4, 2, 2, 22, 5, 9, 3, 19, 6, 3]

zip을 이용한 방법

만약 다음과 같이 list1list2merged_list처럼 만드려고 할 때는 zip()을 사용할 수 있습니다. 단순히 동일한 위치의 list를 하나의 tuple로 묶어줍니다.

list1 = [[1, 10], [2, 22], [3, 19]]
list2 = [[4, 2], [5, 9], [6, 3]]
merged_list = [([1, 10], [4, 2]), ([2, 22], [5, 9]), ([3, 19], [6, 3])]

다음과 같이 구현할 수 있습니다.

list1 = [[1, 10], [2, 22], [3, 19]]
list2 = [[4, 2], [5, 9], [6, 3]]

list3 = list(zip(list1, list2))
print(list3)

Output:

[([1, 10], [4, 2]), ([2, 22], [5, 9]), ([3, 19], [6, 3])]

  • Python - asyncio로 비동기 처리 구현
  • Python - 딕셔너리 필터링, 3가지 방법
  • Python - 파일 이름 변경, 3가지 방법
  • Python - 빈 파일 생성, 3가지 방법
  • Python - pathlib 실행 파일 경로, 작업 디렉토리 확인, 변경
  • Python - 리스트 필터링, 3가지 방법
  • Python 명령행 인자 받기 (argparse)
  • Python - venv로 가상환경 구성 및 설정
  • Python - 싱글턴(Singleton) 패턴, 3가지 방법
  • Python - 리스트 복사 (deep, shallow copy)
  • Python - 리스트 역순으로 순회
  • Python - 객체 리스트 정렬
  • Python - 랜덤 float 생성 방법
  • Python - 패킹(packing), 언패킹(unpacking)
  • Python - 객체를 문자열(string)로 변환
  • Python - 리스트를 튜플로 변환, 3가지 방법
  • Python - 튜플을 리스트로 변환, 4가지 방법
  • Python - sum()으로 딕셔너리 합계 계산
  • Python - 2진수를 10진수로 변환
  • Python - Set 요소 추가, 삭제 방법
  • Python - Set 생성 및 초기화 방법

codechachaCopyright ©2019 codechacha