파이썬이 널리 보급되면서 코드를 더 짧고 깔끔하게 작성할 수 있는 다양한 기능들이 계속 추가되고 있습니다. 이러한 기능을 잘 활용하면 생산성과 가독성을 동시에 높일 수 있습니다. 이 글에서는 실무에서 자주 쓰이면서도 유용한 파이썬 트릭 10가지를 소개합니다.
1. 리스트 뒤집기
reverse() 함수를 사용하면 리스트를 간단히 역순으로 정렬할 수 있습니다. 숫자와 문자열 등 다양한 데이터 타입이 섞여 있어도 문제없이 처리됩니다.
예제
List = ["Shriya", "Lavina", "Sampreeti"] List.reverse() print(List)
결과
['Sampreeti', 'Lavina', 'Shriya']
2. 리스트 요소를 원하는 순서로 출력하기
리스트를 여러 변수에 언패킹하면, 프로그램 로직에 따라 원하는 순서대로 값을 출력하거나 재배열할 수 있습니다.
예제
List = [1, 2, 3] w, v, t = List print(v, w, t) print(t, v, w)
결과
2 1 3 3 2 1
3. 함수 안에서 제너레이터 활용하기
제너레이터 표현식을 함수 인자로 바로 전달하면 별도의 반복문 없이 더 짧고 깔끔한 코드를 작성할 수 있습니다. 아래 예제에서는 sum() 함수에 제너레이터를 직접 넣어 합계를 구합니다.
예제
sum(i for i in range(10))
결과
45
4. zip() 함수 활용하기
여러 개의 리스트나 튜플 같은 이터러블 객체를 하나로 묶어야 할 때는 zip() 함수가 유용합니다. 각 리스트의 요소들이 위치별로 짝지어진 튜플 묶음을 만들어 줍니다. 참고로 파이썬 3에서는 결과가 이터레이터로 반환되므로, 리스트로 확인하려면 list()로 감싸주면 됩니다.
예제
Year = (1999, 2003, 2011, 2017)
Month = ("Mar", "Jun", "Jan", "Dec")
Day = (11, 21, 13, 5)
print(list(zip(Year, Month, Day)))결과
[(1999, 'Mar', 11), (2003, 'Jun', 21), (2011, 'Jan', 13), (2017, 'Dec', 5)]
5. 한 줄의 코드로 두 변수 값 교환하기
일반적으로 두 변수의 값을 바꾸려면 임시 변수가 필요하지만, 파이썬에서는 임시 변수 없이 한 줄로 처리할 수 있습니다.
예제
x, y = 11, 34 print(x) print(y) x, y = y, x print(x) print(y)
결과
11 34 34 11
6. 행렬 전치(Transpose)하기
행렬의 전치는 행과 열을 서로 맞바꾸는 연산입니다. 반복문으로 요소의 위치를 하나씩 옮기는 방법도 있지만, zip() 함수와 * 연산자(언패킹)를 조합하면 한 줄로 간단히 처리할 수 있습니다.
예제
x = [[31, 17],
[40, 51],
[13, 12]]
print(list(zip(*x)))결과
[(31, 40, 13), (17, 51, 12)]
7. 문자열 N번 반복 출력하기
문자열을 여러 번 출력할 때 보통은 반복문을 작성하지만, 파이썬에서는 문자열과 숫자를 곱하는 간단한 방법으로 해결할 수 있습니다.
예제
str = "Point" print(str * 3)
결과
PointPointPoint
8. 슬라이싱으로 리스트 뒤집기
슬라이싱은 파이썬의 강력한 기능 중 하나로, [::-1]처럼 증감값을 -1로 지정하면 리스트 요소의 순서를 손쉽게 뒤집을 수 있습니다. reverse() 함수와 달리 원본 리스트는 그대로 유지됩니다.
예제
# 문자열 리스트 뒤집기 list1 = ["a", "b", "c", "d"] print(list1[::-1]) # 숫자 리스트 뒤집기 list2 = [1, 3, 6, 4, 2] print(list2[::-1])
결과
['d', 'c', 'b', 'a'] [2, 4, 6, 3, 1]
9. 숫자의 약수 구하기
계산이나 분석을 위해 특정 숫자의 약수가 필요하다면, 1부터 해당 숫자까지 나누어 떨어지는지 검사하는 간단한 반복문으로 약수를 찾을 수 있습니다.
예제
f = 32
print("The factors of", f, "are:")
for i in range(1, f + 1):
if f % i == 0:
print(i)결과
The factors of 32 are: 1 2 4 8 16 32
10. 메모리 사용량 확인하기
sys 모듈의 getsizeof() 함수를 사용하면 선언된 각 변수가 차지하는 메모리 크기를 바이트 단위로 확인할 수 있습니다. 아래 예제에서 볼 수 있듯이, 문자열의 길이에 따라 소비되는 메모리 양도 달라집니다.
예제
import sys a, b, c, d = "abcde", "xy", 2, 15.06 print(sys.getsizeof(a)) print(sys.getsizeof(b)) print(sys.getsizeof(c)) print(sys.getsizeof(d))
결과
54 35 28 24