Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

10 thủ thuật Python hay và hữu ích

Python cung cấp nhiều tính năng giúp code ngắn gọn, sạch đẹp ("Pythonic"). Dưới đây là 10 thủ thuật thường dùng.

1. Đảo ngược list: reverse() hoặc slicing

# In-place
lst = ["Shriya", "Lavina", "Sampreeti"]
lst.reverse()
print(lst)  # ['Sampreeti', 'Lavina', 'Shriya']

# Tạo list mới (slicing)
print(lst[::-1])

2. Unpacking list để in theo thứ tự tùy ý

lst = [1, 2, 3]
w, v, t = lst
print(v, w, t)  # 2 1 3
print(t, v, w)  # 3 2 1

3. Generator expression trong hàm

# sum(i for i in range(10)) thay vì sum([i for i in range(10)])
print(sum(i for i in range(10)))  # 45 - tiết kiệm bộ nhớ

4. zip() - Kết hợp nhiều iterable

years = (1999, 2003, 2011, 2017)
months = ("Mar", "Jun", "Jan", "Dec")
days = (11, 21, 13, 5)

print(list(zip(years, months, days)))
# [(1999, 'Mar', 11), (2003, 'Jun', 21), (2011, 'Jan', 13), (2017, 'Dec', 5)]

5. Hoán đổi 2 biến 1 dòng (không cần temp)

x, y = 11, 34
x, y = y, x
print(x, y)  # 34 11

6. Chuyển vị ma trận (Transpose) với zip(*matrix)

matrix = [[31, 17], [40, 51], [13, 12]]
print(list(zip(*matrix)))
# [(31, 40, 13), (17, 51, 12)]

7. In chuỗi lặp lại N lần

print("Point" * 3)  # PointPointPoint

8. Đảo ngược list/string với slicing [::-1]

print([1, 3, 6, 4, 2][::-1])   # [2, 4, 6, 3, 1]
print("hello"[::-1])            # olleh

9. Tìm ước số của số

n = 32
print([i for i in range(1, n+1) if n % i == 0])  # [1, 2, 4, 8, 16, 32]

10. Kiểm tra bộ nhớ biến với sys.getsizeof()

import sys
a, b, c, d = "abcde", "xy", 2, 15.06
print(sys.getsizeof(a))  # 38 bytes
print(sys.getsizeof(b))  # 35 bytes
print(sys.getsizeof(c))  # 24 bytes
print(sys.getsizeof(d))  # 24 bytes

Kết luận

Những thủ thuật này giúp code Python ngắn gọn, hiệu quả và tận dụng được các tính năng đặc trưng của ngôn ngữ.