튜토리얼

Colaboratory(Colab)로 배우는 리스트 심화편: 연산자, 반복 생성, 동일성과 포함 여부까지 (3부)

아주까리동백기름 2025. 7. 1. 12:30

[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 * 3x + 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]:
    ...