Computer >> Máy Tính >  >> Lập trình >> Python

10 thủ thuật thú vị của Python

Với sự gia tăng phổ biến của python, ngày càng có nhiều tính năng dành cho mã hóa python. Việc sử dụng các tính năng này giúp viết mã ít dòng hơn và rõ ràng hơn. Trong bài viết này, chúng ta sẽ thấy 10 thủ thuật python được sử dụng thường xuyên và hữu ích nhất.

Đảo ngược danh sách

Chúng ta có thể đảo ngược một danh sách đã cho một cách đơn giản bằng cách sử dụng một hàm reverse (). Nó xử lý cả kiểu dữ liệu số và chuỗi có trong danh sách.

Ví dụ

List = ["Shriya", "Lavina","Sampreeti" ]
List.reverse()
print(List)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

['Sampreeti', 'Lavina', 'Shriya']

In các phần tử danh sách theo thứ tự bất kỳ

Nếu bạn cần in các giá trị của một danh sách theo các thứ tự khác nhau, bạn có thể gán danh sách cho một loạt các biến và quyết định theo chương trình thứ tự mà bạn muốn in danh sách.

Ví dụ

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

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

(2, 1, 3)
(3, 2, 1)

Sử dụng các chức năng bên trong bộ tạo

Chúng ta có thể sử dụng trình tạo trực tiếp bên trong một hàm để viết mã ngắn hơn và rõ ràng hơn. Trong ví dụ dưới đây, chúng tôi tìm tổng bằng cách sử dụng trình tạo trực tiếp làm đối số cho hàm sum.

Ví dụ

sum(i for i in range(10) )

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

45

Sử dụng hàm zip ()

Khi chúng ta cần nối nhiều đối tượng vòng lặp như danh sách để có được một danh sách duy nhất, chúng ta có thể sử dụng hàm zip. Kết quả cho thấy mỗi mục được nhóm với các mục tương ứng của chúng từ các danh sách khác.

Ví dụ

Year = (1999, 2003, 2011, 2017)
Month = ("Mar", "Jun", "Jan", "Dec")
Day = (11,21,13,5)
print zip(Year,Month,Day)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

[(1999, 'Mar', 11), (2003, 'Jun', 21), (2011, 'Jan', 13), (2017, 'Dec', 5)]

Hoán đổi hai số bằng một dòng mã

Việc hoán đổi số thường yêu cầu lưu trữ các giá trị trong các biến tạm thời. Nhưng với thủ thuật python này, chúng ta có thể làm điều đó bằng cách sử dụng một dòng mã và không sử dụng bất kỳ biến tạm thời nào.

Ví dụ

x,y = 11, 34
print x
print y
x,y = y,x
print x
print y

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

11
34
34
11

Chuyển đổi ma trận

Chuyển ma trận liên quan đến việc chuyển đổi các cột thành hàng. Trong python, chúng ta có thể đạt được điều đó bằng cách thiết kế một số cấu trúc vòng lặp để lặp qua các phần tử trong ma trận và thay đổi vị trí của chúng hoặc chúng ta có thể sử dụng tập lệnh sau liên quan đến hàm zip kết hợp với toán tử * để giải nén một danh sách trở thành chuyển vị của ma trận.

Ví dụ

x = [[31,17],
[40 ,51],
[13 ,12]]
print (zip(*x))

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

[(31, 40, 13), (17, 51, 12)]

In một chuỗi N lần

Cách tiếp cận thông thường trong bất kỳ ngôn ngữ lập trình nào để in một chuỗi nhiều lần là thiết kế một vòng lặp. Nhưng python có một thủ thuật đơn giản liên quan đến một chuỗi và một số bên trong hàm in.

Ví dụ

str ="Point";
print(str * 3);

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

PointPointPoint

Đảo ngược các phần tử danh sách bằng cách sử dụng cách cắt danh sách

Cắt danh sách là một kỹ thuật rất mạnh trong python, kỹ thuật này cũng có thể được sử dụng để đảo ngược thứ tự của các phần tử trong danh sách.

Ví dụ

#Reversing Strings
list1 = ["a","b","c","d"]
print list1[::-1]

# Reversing Numbers
list2 = [1,3,6,4,2]
print list2[::-1]

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

['d', 'c', 'b', 'a']
[2, 4, 6, 3, 1]

Tìm thừa số của một số

Khi chúng ta cần các thừa số của một số, cần thiết cho một số tính toán hoặc phân tích, chúng ta có thể thiết kế một vòng lặp nhỏ để kiểm tra tính chia hết của số đó với chỉ số lặp.

Ví dụ

f = 32
print "The factors of",x,"are:"
for i in range(1, f + 1):
   if f % i == 0:
print(i)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

The factors of 32 are:
1
2
4
8
16
32

Kiểm tra việc sử dụng bộ nhớ

Chúng ta có thể kiểm tra dung lượng bộ nhớ được sử dụng bởi mỗi biến mà chúng ta khai báo bằng cách sử dụng hàm getizeof (). Như bạn có thể thấy bên dưới, các độ dài chuỗi khác nhau sẽ tiêu tốn lượng bộ nhớ khác nhau.

Ví dụ

import sys
a, b, c,d = "abcde" ,"xy", 2, 15.06
print(sys.getsizeof(a))
print(sys.getsizeof(b))
print(sys.getsizeof(c))
print(sys.getsizeof(d))

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

38
35
24
24