시퀀스에 덧셈과 곱셈 연산자 사용하기

매일 공부(ML)·2022년 11월 4일
0

Fluent Python

목록 보기
8/130

시퀀스

시퀀스에 덧셈과 곱셈 연산자 사용하기

덧셈의 경우 피연산자 두 개가 같은 자료형이어야 하며, 둘 다 변경되지 않지만 동일한 자료형의 시퀀스가 새로 만들어진다,

덧셈 및 곱셈 연산자는 언제나 객체를 새롭게 만들고, 피연산자를 변경하지 않는다.

리스트의 리스트를 초기화해야 하는 경우가 종종 있다.


2.5.1 리스트의 리스트 만들기

내포된 리스트를 초기화할 때 지능형 리스트를 사용하는 것이 좋다.

board = [['_'] * 3 for i in range(3)]
board

#지능형 리스트

board = []
for i in range(3):
	row =['_'] * 3
    board.append(row)

시퀀스에 대한 평범한 덧셈 및 곱셈 연산에 대해서 설명했지만, 타깃 시퀀스의 가변성에 따라 상당히 다른 결과를 가져오는 +=와 *= 연산자도 있다.(이는 복합 할당 연산자)


시퀀스의 복합 할당

+=과 *=등의 복합 할당 연산자가 작동하도록 특수 매서드는 iadd()다. 그러나, iadd()() 메서드가 구현되지 있지 않다면 add()메서드를 호출한다.

a += b

"""
a가 __iadd__()메서드를 구현하면 구현된 메서드가 호출이 되고, a가 list, bytearray,array.array등 가변 시퀀스인 경우 a의 값이 변경된다.

"""
profile
성장을 도울 아카이빙 블로그

0개의 댓글