Viết code gọn gàng trên 1 dòng với For-IF trong Python
Trong Python, khi sử dụng vòng lặp For và điều kiện If, bạn có thể kết hợp chúng trên một dòng như sau.
NẾU NHƯ . chế ước mệnh đề
ví dụ 1: Gom nếu như lên 1 dòng
# Multi rows if True: print('Yes') # One row if True: print('Yes')
VD 2: Gom nếu khác lên 1 dòng
# Multi rows if True: print('Yes') else: print('No') # One row print('Yes') if True else print('No')
Vì . vòng
# Multi rows for i in range(5): print('i=%d' % i) # One row for i in range(5): print('i=%d' % i)
Sự kết hợp của for và IF
ví dụ 1: Kết hợp từ vì và nếu như lên 1 dòng
# Multi rows fruits = ['apple', 'banana', 'orange'] for fruit in fruits: if fruit == 'apple': print('I eat it in the morning') # One row [print('I eat it in the morning') for fruit in fruits if fruit == 'apple']
VD 2: Gọi một hàm với vì, nếu như

def calculate(a, b): print(a + b) # Multi rows for i in [1, 2]: if i == 2: calculate(1, 1) # One row any(calculate(1, 1) for i in [1, 2] if i == 2) # Or (calculate(1, 1) for i in [1, 2] if i == 2)
VD 3: Gọi hàm với vì, nếu khác
def calculate(a, b): print(a + b) for i in [1, 2, 3]: if i == 2: calculate(1, 1) else: calculate(1, 2) any(calculate(1, 1) if i == 2 else calculate(1, 2) for i in [1, 2, 3])
VD 4: Gọi hàm nhiều lần với vì, nếu như
def calculate(a, b): print(a + b) # Multi rows for i in [1, 2, 3]: if i == 2: calculate(1, 1) calculate(1, 2) # One row any(calculate(1, 1) or calculate(1, 2) for i in [1, 2, 3] if i == 2)
Việc hợp nhất từ nhiều dòng mã thành 1 dòng mã giúp chúng ta giảm thiểu số dòng mã trong chương trình Python, giúp chương trình gọn gàng hơn. Tuy nhiên, bạn nên cân nhắc vì có thể mọi người sẽ khó đọc mã do cách viết mã khá khác so với cách viết mã thông thường.