HomeLập trìnhPythonBản đồ Python...

Bản đồ Python – Cách ánh xạ danh sách trong Python 3.0, với mã hàm ví dụ


Nếu bạn đang học cách viết mã, Python Map Function là cơ hội để bạn thăng cấp.

Hình dung điều này: bạn muốn trở thành một lập trình viên hiệu quả hơn. Bạn muốn mã của mình biên dịch nhanh hơn. Bạn muốn gây ấn tượng với đồng nghiệp bằng kiến ​​thức lập trình vững chắc của mình. Nếu bất kỳ điều nào trong số này cộng hưởng với bạn, thì bạn đã đến đúng nơi.

Trước khi chúng ta tiếp tục, bạn cần hiểu chức năng và iterables là gì:

Chức năng là mã thực hiện một nhiệm vụ cụ thể.

Ví dụ: len(), print(), str()

Iterables là các đối tượng có chứa một hoặc nhiều thành viên.

Ví dụ: danh sách, từ điển, tuple

Hàm Map trong Python là một hàm cho phép bạn chuyển đổi toàn bộ một iterable bằng một hàm khác. Khái niệm chính ở đây là chuyển đổi có thể bao gồm nhưng không giới hạn ở:

  • Chuyển đổi chuỗi thành số
  • làm tròn số
  • Lấy độ dài của từng thành viên có thể lặp lại

Bạn có thể thắc mắc, “tại sao tôi không thể làm như trên với vòng lặp for?”

Câu trả lời là, bạn có thể. Nhưng việc sử dụng Hàm ánh xạ Python giúp bạn tiết kiệm bộ nhớ (có nghĩa là mã của bạn chạy nhanh hơn) và yêu cầu ít mã hơn. Hãy xem qua một ví dụ để bạn có thể hiểu ý tôi muốn nói.

Đọc thêm  Python Open File – Cách đọc từng dòng một tệp văn bản

Đầu tiên hãy bắt đầu với vòng lặp For

Giả sử bạn có một danh sách các chuỗi thực sự là các số, nhưng bạn cần chuyển đổi danh sách các chuỗi thành số nguyên:

list_of_strings = ["5","6","7","8","9", "10"]

Bạn có thể sử dụng một danh sách trống và vòng lặp for để thực hiện điều này:

list_of_strings = ["5","6","7","8","9", "10"]

result = []

for string in list_of_strings:
    result.append(int(string))
    
print(result)

Nếu bạn chạy ví dụ này, bạn sẽ nhận được:

Đầu ra: [5, 6, 7, 8, 9, 10]

Chuyện gì đang xảy ra bí ẩn với vòng lặp For

Bạn có thể hài lòng với kết quả, nhưng hãy nghĩ về những gì mã của bạn vừa làm.

Bạn đã yêu cầu máy tính duyệt qua từng thành viên (“5”, “6”, “7”, v.v…), chuyển đổi thành viên, sau đó lưu thành viên đó vào một danh sách mới. Mặc dù sử dụng vòng lặp for để chuyển đổi danh sách là có chức năng, nhưng nó không tối ưu.

Hàm bản đồ Python (có mã ví dụ)

Thay vào đó, hãy sử dụng Hàm bản đồ Python để tạo ra kết quả tối ưu VÀ chức năng. Chúng ta sẽ bắt đầu với danh sách các chuỗi cần được chuyển đổi:

list_of_strings = ["5","6","7","8","9", "10"]

Sau đó, chúng ta sẽ sử dụng Hàm ánh xạ Python để chuyển đổi danh sách các chuỗi thành danh sách các số nguyên:

result = map(int,list_of_strings)

print(list(result))

Nếu bạn chạy ví dụ trên, bạn sẽ nhận được kết quả tương tự:

Đầu ra: [5, 6, 7, 8, 9, 10]

Đọc thêm  Thuộc tính Python – Ví dụ về thuộc tính lớp và trường hợp

Trước khi tìm hiểu lý do tại sao Hàm ánh xạ Python tối ưu hơn so với sử dụng vòng lặp for, hãy chia nhỏ những gì chúng ta vừa làm:

list_of_strings = ["5","6","7","8","9", "10"]

Tất cả những gì chúng ta đã làm ở đây là tạo một biến lưu trữ danh sách các chuỗi mà chúng ta muốn chuyển đổi thành số.

result = map(int,list_of_strings)

Hãy chia nhỏ đoạn mã trên từ trong ra ngoài. Cú pháp của Python Map Function như sau:

map(insert function here, insert iterable here)

map() chỉ đơn giản là tên của Hàm bản đồ Python, không có gì lạ mắt ở đây.

insert function here là không gian nơi bạn sẽ viết trong một chức năng. Trong ví dụ mã trên, chúng tôi đã sử dụng int chức năng. Chúng tôi có thể đã sử dụng một chức năng tích hợp khác như len() hoặc chúng ta cũng có thể xây dựng chức năng của riêng mình và sử dụng nó ở đây.

insert iterable here là không gian nơi bạn sẽ viết trong lần lặp mà bạn chọn. Trong trường hợp này, chúng tôi đã chèn danh sách của mình (list_of_strings).

result là biến mà chúng tôi đang lưu trữ các thành viên mới được chuyển đổi của mình.

Hãy chuyển sang dòng mã cuối cùng. Một lần nữa, chúng ta sẽ làm việc từ trong ra ngoài:

print(list(result))

list() đưa các thành viên có thể lặp lại mới được chuyển đổi của chúng tôi và nói với máy tính của chúng tôi rằng các thành viên này nằm ngoài danh sách.

Đọc thêm  Cách viết cơ sở dữ liệu đồ chơi đơn giản bằng Python trong vòng vài phút

print() in ra danh sách mới của chúng tôi!

Chuyện gì đang xảy ra với chức năng bản đồ Python

Thay vì lặp qua từng thành viên của danh sách các chuỗi, Hàm ánh xạ Python đã chuyển đổi toàn bộ danh sách các chuỗi thành một danh sách các số. Bạn đã tiết kiệm bộ nhớ và mã của bạn chạy nhanh hơn.

Nếu bạn muốn chuyển đổi, Python Map Function > For Loops

nubelson-fernandes-Y376h7VN27c-unsplash

Cuối cùng, Hàm ánh xạ Python thanh lịch hơn vòng lặp for và sẽ giúp bạn biên dịch mã của mình nhanh hơn.

Sử dụng Hàm bản đồ Python sẽ giúp nâng kỹ năng viết mã của bạn lên một tầm cao mới và trở thành một lập trình viên giỏi hơn. Trong quá trình này, bạn thậm chí có thể gây ấn tượng với các đồng nghiệp viết mã của mình bằng kỹ năng mới này.

Điều đó nói rằng, Hàm bản đồ Python chỉ là bước khởi đầu. Có rất nhiều thủ thuật Python khác sẽ giúp bạn viết mã đẹp hơn và cải thiện kỹ năng lập trình của mình. Chúc mừng mã hóa!



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status