30초 이내로 쉽게 배울 수 있는 파이썬 코드 20개를 소개합니다. 이 짧은 스니펫(snippet) 코드는 시간을 절약하고 코드를 깔끔하고 읽기 쉽게 만들어줍니다.
※ 이 글은 아래 기사 내용을 토대로 작성되었습니다만, 필자의 개인 의견이나 추가 자료들이 다수 포함되어 있습니다.
- 원문: 20 extremely useful single-line Python codes
- URL: https://medium.com/@hafizabdullaha93/20-extremely-useful-single-line-python-codes-de44928a1a3b
1. 한 줄 For Loop
For 루프는 여러 줄로 구성된 명령문이지만 Python에서는 목록 이해 방법을 사용하여 한 줄에 for 루프를 작성할 수 있습니다. 예를 들어, 250보다 작은 값을 필터링하려면 다음 코드 예제를 살펴보세요.
#For loop in one line
mylist = [200, 300, 400, 500]
#Single line For loop
result = []
for x in mylist:
if x > 250:
result.append(x)
print(result) # [300, 400, 500]
#One-line code way
result = [x for x in mylist if x > 250]
print(result) # [300, 400, 500]
2. 한 줄 While Loop
두 가지 다른 방법을 시연하여 한 줄에서 While 루프 코드를 사용하는 방법을 보여줍니다.
#Method 1 Single Statement
while True: print(1) #infinite 1
#Method 2 Multiple Statements
x = 0
while x < 5: print(x); x= x + 1 # 0 1 2 3 4 5
3. 한 줄 If Else 문
IF Else 문을 한 줄로 작성하려면 삼항 연산자를 사용합니다. 삼항 구문은 '[on true] if [expression] else [on false]'입니다. 한 줄짜리 if-else 문에 삼항 연산자를 사용하는 방법을 명확하게 설명하기 위해 아래 샘플 코드에 3가지 예를 표시했습니다. Elif 문을 사용하려면 여러 삼항 연산자를 사용해야 합니다.
#if Else In a single line.
#Example 1 if else
print("Yes") if 8 > 9 else print("No") # No
#Example 2 if elif else
E = 2
print("High") if E == 5 else print("数据STUDIO") if E == 2 else
print("Low") # Data STUDIO
#Example 3 only if
if 3 > 2: print("Exactly") # Exactly
4. 한 줄로 딕셔너리 병합
이 한 줄짜리 코드 세그먼트는 한 줄의 코드를 사용하여 두 개의 사전을 하나로 병합하는 방법을 보여줍니다. 여기에서는 사전을 병합하는 두 가지 방법을 제시했습니다.
# Merging dictionaries in one line
d1 = { 'A': 1, 'B': 2 }
d2 = { 'C': 3, 'D': 4 }
#Method1
d1.update(d2)
print(d1) # {'A': 1, 'B': 2, 'C': 3, 'D': 4}
#Method2
d3 = {**d1, **d2}
print(d3) # {'A': 1, 'B': 2, 'C': 3, 'D': 4}
5. 한 줄 함수
한 줄에 함수를 작성하는 방법에는 두 가지가 있습니다. 첫 번째 방법에서는 삼항 연산자 또는 한 줄 루프 방법과 동일한 함수 정의를 사용합니다. 두 번째 방법은 람다를 사용하여 함수를 정의하는 것입니다. 보다 명확한 이해를 위해 아래 예제 코드를 살펴보세요.
#Function in one line
#Method1
def fun(x): return True if x % 2 == 0 else False
print(fun(2)) # False
#Method2
fun = lambda x : x % 2 == 0
print(fun(2)) # True
print(fun(3)) # False
6. 한 줄 재귀
이 한 줄 코드 조각은 한 줄에서 재귀를 사용하는 방법을 보여줍니다. 한 줄짜리 함수 정의와 한 줄짜리 if-else 문을 사용하겠습니다. 다음은 피보나치 수열을 찾는 예입니다.
# Single-line recursion
#Fibonaci Single-line recursion example
def Fib(x): return 1 if x in {0, 1} else Fib(x-1) + Fib(x-2)
print(Fib(5)) # 8
print(Fib(15)) # 987
7. 한 줄 배열 필터링
Python 목록을 사용하여 한 줄의 코드로 배열을 필터링하는 것은 목록 이해 방법을 사용하여 수행할 수 있습니다. 짝수 목록을 필터링하는 예가 표시됩니다.
# Filtering arrays in a single line
mylist = [2, 3, 5, 8, 9, 12, 13, 15]
#Normal way
result = []
for x in mylist:
if x % 2 == 0:
result.append(x)
print(result) # [2, 8, 12]
# One-line method
result = [x for x in mylist if x % 2 == 0]
print(result) # [2, 8, 12]
8. 한 줄 예외 처리
Python에서 런타임 오류를 처리하기 위해 예외 처리를 사용합니다. Try Except 문을 한 줄로 작성할 수 있습니다. exec() 문을 사용하면 됩니다.
# Exception handling in one line
#Original method
try:
print(x)
except:
print("Error")
#Single line way
exec('try:print(x) \nexcept:print("Error")') # Error
9. 한 줄로 리스트를 딕셔너리로 변환
enumerate() 함수를 사용하여 한 줄로 목록을 사전으로 변환합니다. 목록을 enumerate()에 전달하고 dict()를 사용하여 최종 출력을 사전 형식으로 변환합니다.
# Dictionary in one line
mydict = ["John", "Peter", "Mathew", "Tom"]
mydict = dict(enumerate(mydict))
print(mydict) # {0: 'John', 1: 'Peter', 2: 'Mathew', 3: 'Tom'}
10. 한 줄 다중 변수
Python에서는 한 줄에 여러 변수 할당이 가능합니다. 다음 예제 코드는 이를 수행하는 방법을 보여줍니다.
#Multiple variable assignments in one line.
#Single-line method
x = 5
y = 7
z = 10
print(x , y, z) # 5 7 10
#Single line way
a, b, c = 5, 7, 10
print(a, b, c) # 5 7 10
11. 한 줄로 값 바꾸기
스와핑은 프로그래밍에서 재미있는 작업이며, 스와핑된 값을 저장하려면 항상 세 번째 변수 이름인 temp가 필요합니다. 이 한 줄 코드 조각은 임시 변수 없이 한 줄에서 값을 바꾸는 방법을 보여줍니다.
#Swap values in one line
#Single-line method
v1 = 100
v2 = 200
temp = v1
v1 = v2
v2 = temp
print(v1, v2) # 200 100
# One-line value swapping
v1, v2 = v2, v1
print(v1, v2) # 200 100
12. 한 줄 정렬
정렬은 프로그래밍에서 일반적인 문제이며 Python에는 이 정렬 문제를 해결하기 위한 여러 가지 방법이 내장되어 있습니다. 아래 코드 예제에서는 한 줄로 정렬하는 방법을 보여줍니다.
# Sort in one line
mylist = [32, 22, 11, 4, 6, 8, 12]
# Method1
mylist.sort()
print(mylist) # # [4, 6, 8, 11, 12, 22, 32]
print(sorted(mylist)) # [4, 6, 8, 11, 12, 22, 32]
13. 한 줄로 파일 읽기
명령문이나 일반적인 읽기 방법을 사용하지 않고도 한 줄로 파일을 읽을 수 있습니다.
#Reading a file in one line
#Single-line method
with open("data.txt", "r") as file:
data = file.readline()
print(data) # Hello world
#Single line way
data = [line.strip() for line in open("data.txt","r")]
print(data) # ['hello world', 'Hello Python']
14. 한 줄 클래스
클래스는 여러 줄로 이루어지는 작업입니다. 하지만 Python에서는 한 줄의 코드로 클래스 기능을 사용하는 방법이 있습니다.
# One-line class
#Regular way
class Emp:
def __init__(self, name, age):
self.name = name
self.age = age
emp1 = Emp("a44", 22)
print(emp1.name, emp1.age) #
#Single line way
#Method 1 Lambda with Dynamic Attributes
Emp = lambda:None; Emp.name = "a44"; Emp.age = 22
print(Emp.name, Emp.age) #
#Method 2
from collections import namedtuple
Emp = namedtuple('Emp', ["name", "age"]) ("a44", 22)
print(Emp.name, Emp.age)
15. 한 줄 세미콜론
이 코드 조각에서 세미콜론을 사용하여 한 줄에 여러 줄의 코드를 작성하는 방법을 보여줍니다.
# One-line semicolon
# exsample 1
a = "Python"; b = "Programming"; c = "languages"; print(a, b, c)
# print
# Python Programming languages
16. 한 줄 인쇄
이것은 중요한 스니펫은 아니지만 작업을 수행하기 위해 루프를 사용할 필요가 없을 때 유용할 수 있습니다.
# One line print
#Single-line method
for x in range(1, 5):
print(x) # 1 2 3 4
#Single line way
print(*range(1, 5)) # 1 2 3 4
print(*range(1, 6)) # 1 2 3 4 5
17. 한 줄 map 함수
맵 함수는 각 요소에 함수를 적용하는 유용한 고차 함수입니다. 다음은 한 줄의 코드에서 지도 기능을 사용하는 방법에 대한 예입니다.
#One line map function
print(list(map(lambda a: a + 2, [5, 6, 7, 8, 9, 10])))
# print
# [7, 8, 9, 10, 11, 12]
18. 리스트의 첫 번째 행에서 Mul 요소 삭제
del 메소드를 사용하면 수정 없이 한 줄의 코드로 List의 여러 요소를 삭제할 수 있습니다.
# Deleting the Mul elements from the first row of the list
mylist = [100, 200, 300, 400, 500]
del mylist[1::2]
print(mylist) # [100, 300, 500]
19. 한 줄 프린트 패턴
동일한 패턴을 인쇄하기 위해 더 이상 for 루프를 사용할 필요가 없습니다. print 문과 별표(*)를 사용하면 한 줄의 코드에서 동일한 작업을 수행할 수 있습니다.
# One line print pattern#
# Single-line method
for x in range(3):
print('😀')
# print
# 😀 😀 😀
#Single line way
print('😀' * 3) # 😀 😀 😀
print('😀' * 2) # 😀 😀
print('😀' * 1) # 😀
20. 한 줄의 코드로 특정 범위의 소수 찾기
이 코드 조각은 한 줄의 코드를 작성하여 범위 내의 소수(prime number, 솟수)를 찾는 방법을 보여줍니다.
# Find primes in a range in a single line of code
print(list(filter(lambda a: all(a % b != 0 for b in range(2, a)),
range(2,20))))
# print
# [2, 3, 5, 7, 11, 13, 17, 19]
'Python' 카테고리의 다른 글
파이썬을 처음부터 배우는 방법: 전문가 가이드 (2) | 2023.12.29 |
---|---|
Python 함수 작성의 15가지 레벨 (36) | 2023.12.28 |
프로젝트에 사용해야 할 유용한 Python 라이브러리 5가지 (0) | 2023.12.25 |
Python 튜플의 중요성과 사용 방법 (0) | 2023.12.24 |
Python 마스터하기: 초보자를 위한 종합 가이드 (2) | 2023.12.23 |