a += b, 콤마가 왜 들어가있지?
- 파이썬 알고리즘 인터뷰 59번(LeetCode 56. Merge Intervals)의 풀이에 처음보는 표현이 있었다.
- 바로
result += interval,처럼 += 뒤에 콤마(,)가 찍혀있는 것이다.
- 콤마(
,)를 찍으면 튜플이 생성되어 a += b,는 a += (b,)로 해석되어 리스트에 튜플의 원소가 추가된다.
- 가독성과 유지보수성을 위해 굳이 사용하지 않는 것이 좋겠다.
- 리스트의 원소를 추가하려면
a += b 또는 a.extend(b), 리스트 자체를 추가하려면 a.append(b)를 사용하는 것이 더 좋은 방법이다.
a = [1, 2, 3]
b = [4, 5]
a.extend(b)
print("extend 사용:", a)
a = [1, 2, 3]
b = [4, 5]
a.append(b)
print("append 사용:", a)
a = [1, 2, 3]
b = [4, 5]
a += b
print("+= 사용:", a)
a = [1, 2, 3]
b = [4, 5]
a += b,
print("+= b, 사용 (튜플 추가됨):", a)