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 = 4Phươ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ả: 10014. 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ả: 72017. 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]]