Python 리스트와 시퀀스 연산자
Python에서 리스트(list)는 문자열과 마찬가지로 + 연산자와 * 연산자를 지원합니다. +는 두 리스트를 하나로 이어 붙이는 연결(concatenation)을 의미하고, *는 리스트를 여러 번 반복하는 반복(repetition)을 의미합니다.
다만 문자열과의 차이점은, 연산 결과가 새로운 문자열이 아니라 새로운 리스트로 반환된다는 점입니다.
실제로 리스트는 이전 장에서 문자열에 적용했던 모든 일반적인 시퀀스(sequence) 연산을 그대로 사용할 수 있습니다. 아래 표를 통해 주요 연산을 확인해 보세요.
리스트의 주요 연산 예제
| Python 표현식 | 결과 | 설명 |
|---|---|---|
len([1, 2, 3]) | 3 | 길이 (요소 개수) |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 연결 (Concatenation) |
['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | 반복 (Repetition) |
3 in [1, 2, 3] | True | 멤버십 (포함 여부 확인) |
for x in [1, 2, 3]: print(x) | 1 2 3 | 순회 (Iteration) |
각 연산 살펴보기
1. 길이 확인 — len()len() 함수는 리스트에 포함된 요소의 개수를 반환합니다. 위 예제에서는 세 개의 숫자가 있으므로 3이 출력됩니다.
2. 연결 — + 연산자+ 연산자를 사용하면 두 리스트가 하나의 새로운 리스트로 합쳐집니다. 원본 리스트는 변경되지 않습니다.
3. 반복 — * 연산자* 연산자는 리스트를 지정한 횟수만큼 반복하여 새로운 리스트를 만듭니다. 동일한 요소를 여러 개 초기화할 때 유용합니다.
4. 멤버십 — in 연산자in 연산자는 특정 값이 리스트 안에 존재하는지 검사하여 True 또는 False를 반환합니다.
5. 순회 — for 문for 문을 사용하면 리스트의 각 요소를 순서대로 하나씩 꺼내어 처리할 수 있습니다.
이처럼 리스트는 문자열과 동일한 시퀀스 프로토콜을 따르기 때문에, 문자열에서 익힌 연산 방식을 그대로 활용할 수 있다는 점이 Python 학습의 큰 장점입니다.