이 자습서에서는 코드를 더 간결하게 만들기 위해 Python에서 목록을 압축 해제하는 방법을 배웁니다.
1. list unpacking 소개
다음 예제에서는 문자열 목록을 정의합니다.
colors = ['red', 'blue', 'green']
List의 첫 번째, 두 번째 및 세 번째 요소를 변수에 할당하려면 다음과 같이 개별 요소를 변수에 할당할 수 있습니다.
red = colors[0]
blue = colors[1]
green = colors[2]
그러나 Python은 이를 수행하는 더 나은 방법을 제공합니다. 시퀀스 언패킹이라고 합니다.
기본적으로 List(및 튜플)의 요소를 여러 변수에 할당할 수 있습니다. 예를 들면 다음과 같습니다.
red, blue, green = colors
이 명령문은 색상 목록의 첫 번째, 두 번째 및 세 번째 요소를 red, blue 및 green 변수에 할당합니다.
이 예에서 왼쪽에 있는 변수의 수는 오른쪽에 있는 목록의 요소 수와 같습니다.
왼쪽에 더 적은 수의 변수를 사용하면 오류가 발생합니다.
사용예:
colors = ['red', 'blue', 'green']
red, blue = colors
Error:
ValueError: too many values to unpack (expected 2)
이 경우 Python은 세 개의 요소를 두 개의 변수로 풀 수 없습니다.
2. Unpacking and packing
List의 처음 몇 가지 요소를 풀고 다른 요소는 신경쓰지 않으려면 다음을 수행할 수 있습니다.
- 먼저 필요한 요소를 변수에 압축 해제합니다.
- 둘째, 남은 요소를 새 목록으로 압축하고 다른 변수에 할당합니다.
변수 이름 앞에 별표(*)를 넣으면 남은 요소를 목록으로 압축하고 변수에 할당합니다.
사용예:
colors = ['red', 'blue', 'green']
red, blue, *other = colors
print(red)
print(blue)
print(other)
Output:
red
blue
['green']
이 예에서는 색상 목록의 첫 번째 요소와 두 번째 요소를 red 및 green 변수에 할당합니다. 그리고 List 의 마지막 요소를 다른 변수에 할당합니다.
여기 또 다른 예가 있습니다.
colors = ['cyan', 'magenta', 'yellow', 'black']
cyan, magenta, *other = colors
print(cyan)
print(magenta)
print(other)
Output:
cyan
magenta
['yellow', 'black']
이 예에서는 첫 번째 요소와 두 번째 요소를 변수에 할당합니다. 새 목록의 마지막 두 요소를 압축하고 새로운 List 를 다른 변수에 할당합니다.
3. Summary
- 압축을 풀면 목록의 요소가 여러 변수에 할당됩니다.
- 이 *variable_name과 같은 변수 앞에 별표(*)를 사용하여 목록의 나머지 요소를 다른 목록으로 압축합니다.
refreance:https://www.pythontutorial.net/python-basics/python-unpack-list/
'Programing > Python' 카테고리의 다른 글
Python List에서 요소와 인덱스를 찾는 방법?? (0) | 2023.03.07 |
---|---|
Python 에서 For Loop 사용하여 List 반복하는 방법은 어떻게 하나요? (0) | 2023.03.07 |
Python List Slice 사용하기 (0) | 2023.03.07 |
Python sorted() 사용하기 (0) | 2023.03.07 |
Python List sort() 사용하기 (0) | 2023.03.07 |
댓글