[Python] 파이썬 2차원 리스트를 1차원으로 만드는 방법 / sum, itertools
2차원 리스트를 1차원으로 만드는 방법이다.
물론 list comprehension이나 for루프 두 번 돌면 되겠지만, 더 간단 명료한 방법을 찾았다.
1. sum() 을 이용한 방법
sum은 보통 리스트의 모든 원소 값을 더하기 위해 사용되는데,
두 번째 인수로 []를 넣어주면 리스트 원소끼리 더한다는 의미가 된다.
list1 = [[1, 10], [2, 22], [3, 19], [4, 7]]
list2 = sum(list1, [])
print(list2)
그러면 다음과 같이 2차원 리스트가 1차원으로 바뀐 것을 볼 수 있다.
[1, 10, 2, 22, 3, 19, 4, 7]
2. itertools를 이용한 방법
외부 라이브러리를 사용하는 방법이다.
특이한 경우가 아닌 이상, 1번 방법을 사용하는 것을 추천한다. (코딩테스트 기준)
import itertools
list1 = [[1, 10], [2, 22], [3, 19], [4, 7]]
list2 = list(itertools.chain(*list1))
print(list2)
주의 사항은 리스트 변수 명 앞에 *을 붙여야 한다.
그러면 다음과 같이 2차원 리스트가 1차원으로 바뀐 것을 볼 수 있다.
[1, 10, 2, 22, 3, 19, 4, 7]
'Python' 카테고리의 다른 글
[Python] 정규식을 이용한 반복 문자 줄이기 (0) | 2025.02.08 |
---|---|
[Python] 정규식을 이용하여 특정 개수 문자 패턴 찾기 (0) | 2025.02.08 |
[Python] 파이썬 조합 순열, itertools combinations, permutations (0) | 2025.02.07 |
[코테준비/Python] 문제풀이 Tips / 시간 정렬 (0) | 2025.02.06 |
[Python] deque의 개념과 사용법, 장점 (0) | 2025.02.06 |