[Python 입문] 리스트 심화편: 연산자, 반복 생성, 동일성과 포함 여부까지 (3부)
📌 리스트 연결과 반복
['a', 'b', 'c'] + [0, 10, 20, 30, 40, 50]
['a', 'b', 'c', 0, 10, 20, 30, 40, 50]
[0, 10, 20, 30, 40, 50] + ['a', 'b', 'c']
[0, 10, 20, 30, 40, 50, 'a', 'b', 'c']
*
연산자를 사용하면 리스트를 여러 번 반복하여 복사할 수 있습니다.
numbers = [0, 10, 20, 30, 40, 50]
print(numbers * 3)
[0, 10, 20, 30, 40, 50, 0, 10, 20, 30, 40, 50, 0, 10, 20, 30, 40, 50]
같은 값으로 채운 리스트를 만드는 가장 간단한 방법은 *
연산자입니다.
zero10 = [0] * 10
print(zero10)
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
x * 3
은 x + x + x
와 동일한 효과를 가집니다.
📌 리스트 복사와 객체 동일성 주의
다중 리스트에 *
를 사용할 경우, 내부 리스트가 같은 객체를 참조하게 됩니다.
x = [[0, 1], [2, 3]]
y = x * 3
print(y)
[[0, 1], [2, 3], [0, 1], [2, 3], [0, 1], [2, 3]]
이 상태에서 x
의 요소를 변경하면 y
의 모든 해당 요소가 함께 바뀝니다.
x[0][0] = 99
print(y)
[[99, 1], [2, 3], [99, 1], [2, 3], [99, 1], [2, 3]]
이는 y
내부의 리스트들이 같은 객체를 공유하기 때문입니다.
자세한 내용은 "오브젝트의 등가성과 동일성" 항목에서 설명됩니다.
📌 in
연산자
in
연산자는 리스트에 특정 값이 포함되어 있는지 확인할 때 사용합니다.
10 in numbers
True
이 연산자는 or
조건을 간단하게 표현할 때 유용합니다.
# 다음 두 코드는 동일한 의미입니다.
if a1 == 1 or a1 == 3 or a1 == 7:
...
# 아래처럼 줄일 수 있습니다.
if a1 in [1, 3, 7]:
...
'튜토리얼' 카테고리의 다른 글
파이썬 if문 완벽 정리: 조건문으로 배우는 진짜 파이썬 로직 (0) | 2025.07.03 |
---|---|
Colaboratory(Colab)로 배우는 Python : 리스트의 기초 - 다루기: 인덱싱, 슬라이싱, 다중 리스트까지 (2부) (0) | 2025.07.01 |
Colaboratory(Colab)로 배우는 Python : 리스트의 기초 - 다양한 데이터 타입과 생성 방식 완전 정복 (1부) (1) | 2025.07.01 |
Colaboratory(Colab)로 배우는 Python 문자열 완전 정복 – 3부: 실전 연습문제 & 문자열 조작 함수 만들기 (1) | 2025.06.29 |
Colaboratory(Colab)로 배우는 Python 문자열 완전 정복 – 2부: 검색, 치환, 메서드 정리편 (0) | 2025.06.29 |