Chia sẻ kiến thức

Viết code gọn gàng trên 1 dòng với For-IF trong Python

0

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ừ 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 , nếu như

Tải game crack việt hoá tại: https://daominhha.com
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 , 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 , 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.

Leave a comment