Sử dụng lớp list[]
để chuyển đổi đối tượng map
thành một danh sách để in ra, e. g. print[list[map[function, iterable]]]
. Hàm map[]
trả về một đối tượng map
có thể được chuyển đổi thành một danh sách bằng cách sử dụng lớp list[]
Chúng tôi đã sử dụng lớp list[]
để chuyển đổi một đối tượng map
thành một danh sách để có thể in nó
Lớp nhận một iterable và trả về một đối tượng danh sách
Hàm nhận một hàm và một iterable làm đối số và gọi hàm với mỗi mục của iterable
Hàm map
trả về một đối tượng map
, vì vậy để in các phần tử của nó, chúng ta phải chuyển đổi đối tượng thành một danh sách hoặc lặp lại đối tượng đó
Vòng lặp map
0 in từng phần tử trong đối tượng map
trên một dòng riêng biệt
Bạn cũng có thể sử dụng toán tử giải nén lặp lại map
2 để chuyển đổi đối tượng map
thành danh sách trước khi in nó
Cho phép chúng tôi giải nén một lần lặp trong các lệnh gọi hàm, trong khả năng hiểu và trong các biểu thức của trình tạo
Bạn có thể tưởng tượng rằng các phần tử của map
được giải nén dưới dạng các giá trị được phân tách bằng dấu phẩy trong danh sách mới
Hàm map
nhận một hàm và một iterable và gọi hàm với mỗi mục của iterable
Bạn có thể sử dụng cách hiểu danh sách để đạt được kết quả tương tự
Khả năng hiểu danh sách được sử dụng để thực hiện một số thao tác cho mọi phần tử hoặc chọn một tập hợp con các phần tử đáp ứng một điều kiện
Trong Python, bạn có thể sử dụng hàm map[] tích hợp để ánh xạ. Hàm
[1, 4, 9, 16, 25]2 trả về một đối tượng bản đồ. Đối tượng bản đồ này là kết quả của việc áp dụng một thao tác trên một lần lặp, chẳng hạn như một danh sách. Bạn có thể dễ dàng chuyển đổi đối tượng bản đồ này trở lại danh sách chẳng hạn bằng cách gọi hàm
[1, 4, 9, 16, 25]4 trên đó
Cú pháp sử dụng hàm
[1, 4, 9, 16, 25]2
map[operation, iterable]
Trong đó
[1, 4, 9, 16, 25]6 là một hàm hoặc hàm lambda, tùy theo ý thích của bạn.
[1, 4, 9, 16, 25]7 là nhóm các mặt hàng mà bạn áp dụng
[1, 4, 9, 16, 25]6
Ánh xạ danh sách Python
Ánh xạ hoạt động cho bất kỳ lần lặp nào trong Python. Nói cách khác, bạn có thể sử dụng nó trên một danh sách
Ví dụ: hãy bình phương một danh sách các số. Cách tiếp cận này sử dụng hàm lambda làm hàm ánh xạ. Nếu bạn không quen với lambdas, vui lòng xem hướng dẫn này hoặc xem ví dụ tiếp theo không có lambdas
numbers = [1, 2, 3, 4, 5] squared_nums = map[lambda x: x ** 2, numbers] print[list[squared_nums]]
đầu ra
[1, 4, 9, 16, 25]
Đây là ví dụ tương tự. Lần này, chúng tôi không sử dụng hàm lambda mà thay vào đó là một hàm thông thường
numbers = [1, 2, 3, 4, 5] def square[number]: return number ** 2 squared_nums = map[square, numbers] print[list[squared_nums]]
đầu ra
[1, 4, 9, 16, 25]
Đây là kết quả của việc áp dụng hàm
[1, 4, 9, 16, 25]9cho mỗi phần tử của danh sách các số. Lưu ý cách bạn không cần cung cấp cho hình vuông một tham số trong hàm bản đồ. Điều này có thể thực hiện được vì chức năng bản đồ biết bạn đang cố gắng làm gì. Nó tự động chuyển từng phần tử làm đối số cho từng hàm một
Ánh xạ từ điển Python
Bạn cũng có thể ánh xạ từ điển trong Python bằng cách sử dụng chức năng
[1, 4, 9, 16, 25]2 tích hợp
Ví dụ: hãy lập bản đồ
map[operation, iterable]1 sao cho giá trị của các cặp khóa-giá trị trở thành các chuỗi được viết hoa
data = { "name": "jack", "address": "imaginary street", "education": "mathematican" } def capitalize[word]: return word.capitalize[] data_map = map[lambda pair: [pair[0], capitalize[pair[1]]], data.iteritems[]] data = dict[data_map] print[dict[data]]
đầu ra
{'name': 'Jack', 'address': 'Imaginary street', 'education': 'Mathematican'}
Có khá nhiều dòng mã, vì vậy hãy làm rõ cách thức hoạt động của nó
- Có
map[operation, iterable]
1, là từ điển các cặp khóa-giá trị. Các giá trị không được viết hoa và chúng tôi muốn thay đổi điều đó - Hàm
map[operation, iterable]
3 lấy một chuỗi và trả về một phiên bản viết hoa của nó map[operation, iterable]
4 là một đối tượng bản đồ. Nó được tạo bằng cách áp dụng hàmmap[operation, iterable]
3 cho từng giá trị của từng cặp khóa-giá trị trongmap[operation, iterable]
1- Để chuyển đổi
map[operation, iterable]
4 trở lại từ điển, chúng tôi sử dụng hàmmap[operation, iterable]
8 tích hợp
Ánh xạ Python Tuples
Bạn cũng có thể ánh xạ các bộ dữ liệu trong Python. Điều này hoạt động rất giống với việc ánh xạ một danh sách
Ví dụ: hãy tạo một bộ dữ liệu bằng cách viết hoa tên của một bộ dữ liệu khác
names = ["jamie", "jane", "jack"] def capitalize[word]: return word.capitalize[] capitalized_names = map[capitalize, names] print[tuple[capitalized_names]]
đầu ra
[1, 4, 9, 16, 25]0
Phần kết luận
Trong Python, bạn có thể sử dụng ánh xạ để chuyển đổi một nhóm giá trị thành một nhóm giá trị khác. Để thực hiện việc này, hãy sử dụng hàm
[1, 4, 9, 16, 25]2 tích hợp. Hàm này hoạt động bằng cách áp dụng một hàm cho từng phần tử của nhóm giá trị