25 đoạn mã Python một dòng hữu ích

Python là ngôn ngữ lập trình được yêu thích nhờ tính đơn giản và hiệu quả. Dưới đây là 25 đoạn mã một dòng giúp bạn thực hiện nhiều tác vụ phổ biến dễ dàng hơn.

1. Hoán đổi giá trị hai biến

# Trước: a = 4, b = 5
a, b = b, a
# Kết quả: a = 5, b = 4

Phương pháp này gọn hơn việc dùng biến trung gian hoặc phép toán số học.

2. Gán giá trị cho nhiều biến

x, y, z = 4, 5.5, 'Xin chào'

Có thể gán nhiều kiểu dữ liệu khác nhau trong một dòng. Dùng dấu * để nhận phần tử còn dư khi gán từ danh sách:

danh_sach = [1, 2, 3, 4, 5]
m, n, *p = danh_sach
# m=1, n=2, p=[3,4,5]

3. Tính tổng các số chẵn trong danh sách

danh_sach = [1,2,3,4,5,6]
tong_chan = sum(so for so in danh_sach if so % 2 == 0)

4. Xóa nhiều phần tử khỏi danh sách

so = [1,2,3,4,5]
del so[1::2]  # Xóa các phần tử ở vị trí lẻ

5. Đọc nội dung tệp tin

dong = [dong.strip() for dong in open('vanban.txt')]

Dùng with để tự động đóng tệp sau khi xử lý:

with open("vanban.txt") as f:
    dong = [dong.strip() for dong in f]

6. Ghi dữ liệu vào tệp

with open("ketqua.txt", 'a', newline='\n') as f:
    f.write("Python thật tuyệt vời")

7. Tạo danh sách

danh_sach = [i for i in range(10)]
# Hoặc
danh_sach = list(range(10))

Tạo danh sách chuỗi:

ten = [("Xin chào " + ten) for ten in ['An', 'Bình', 'Chien']]

8. Chuyển đổi kiểu dữ liệu toàn danh sách

so_nguyen = list(map(int, ['1','2','3']))
so_thuc = [float(i) for i in [1,2,3]]

9. Tạo tập hợp

{x**2 for x in range(10) if x % 2 == 0}

10. Bài toán FizzBuzz

['FizzBuzz' if i%15 == 0 else 'Fizz' if i%3 == 0 else 'Buzz' if i%5 == 0 else i for i in range(1,20)]

11. Kiểm tra chuỗi đối xứng

chuoi = 'mam'
la_doi_xung = chuoi == chuoi[::-1]

12. Chuyển chuỗi số thành danh sách

danh_sach_so = list(map(int, input().split()))

13. Hàm Lambda

bh = lambda x: x*x
print(bh(10))  # Kết quả: 100

14. Kiểm tra phần tử trong danh sách

if 5 in [1,2,3,4,5]:
    print('Tồn tại')

15. Vẽ mẫu đơn giản

n = 5
print('\n'.join('*' * i for i in range(1, n+1)))

16. Tính giai thừa

import math
print(math.factorial(6))  # Kết quả: 720

17. Dãy Fibonacci

fibo = [0, 1]
[fibo.append(fibo[-2] + fibo[-1]) for _ in range(5)]

18. Tìm số nguyên tố

so_nguyen_to = list(filter(lambda x: all(x%i != 0 for i in range(2, x)), range(2, 13)))

19. Tìm giá trị lớn hơn

so_lon_hon = lambda x,y: x if x>y else y
print(so_lon_hon(5,14))  # Hoặc dùng max(5,14)

20. Nhân toàn bộ phần tử

def nhan_tat_ca(danh_sach, he_so):
    return [i * he_so for i in danh_sach]

21. Chuyển vị ma trận

a = [[1,2,3], [4,5,6], [7,8,9]]
chuyen_vi = [list(i) for i in zip(*a)]

22. Đếm số lần xuất hiện

import re
print(len(re.findall('python', 'python la ngon ngu. python la python')))

23. Thay thế văn bản

"python la ngon ngu. python la python".replace("python", "Java")

24. Tung đồng xu

import random
print(random.choice(['Ngửa', 'Sấp']))

25. Tạo nhóm kết hợp

nhom = [(ky_tu, so) for ky_tu in ['a','b'] for so in [1,2,3]]

Thẻ: python code snippet list comprehension Lambda function

Đăng vào ngày 2 tháng 9 lúc 14:58