Trong Python, khi sử dụng vòng lặp For và câu điều kiện If, bạn có thể gộp chúng trên duy nhất 1 dòng như sau.
Mệnh đề điều kiện IF
VD 1: Gom if lên 1 dòng
# Multi rows if True: print('Yes') # One row if True: print('Yes') # Or True and print('Yes')
VD 2: Gom if else lên 1 dòng
# Multi rows if True: print('Yes') else: print('No') # One row print('Yes') if True else print('No')
Vòng lặp For
# Multi rows for i in range(5): print('i=%d' % i) # One row for i in range(5): print('i=%d' % i)
Kết hợp giữa for và IF
VD 1: Kết hợp giữa for và if 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 1 function với for, if
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 function với for, if else
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 nhiều lần function với for, if
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 gom từ nhiều dòng code thành 1 dòng code giúp chúng ta giảm thiểu số lines of code của chương trình Python, giúp chương trình gọn gàng hơn. Tuy nhiên các bạn nên cân nhắc vì có thể người đọc code sẽ khó hiểu do cách viết code khá khác với cách viết code thông thường.