Trong Python, bạn có thể kết hợp vòng lặp For và câu điều kiện If thành một dòng duy nhất 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 tổng hợp nhiều dòng mã thành một dòng mã trong Python có thể giúp giảm độ dài của mã nguồn, làm cho chương trình trở nên ngắn gọn hơn. Tuy nhiên, cần lưu ý rằng việc viết mã theo cách này có thể khiến người đọc mã gặp khó khăn, do cú pháp viết mã thường khác với việc viết theo kiểu thông thường.