Hướng dẫn how do i map a list to another list in python? - làm cách nào để ánh xạ danh sách này sang danh sách khác trong python?

Tóm tắt: Trong hướng dẫn này, bạn sẽ học cách sử dụng hàm Python

bonuses = [100, 200, 300] new_bonuses = [] for bonus in bonuses: new_bonuses.append(bonus*2) print(new_bonuses)

Code language: Python (python)
2 với danh sách.: in this tutorial, you’ll learn how to use the Python

bonuses = [100, 200, 300] new_bonuses = [] for bonus in bonuses: new_bonuses.append(bonus*2) print(new_bonuses)

Code language: Python (python)
2 function with lists.

Giới thiệu về hàm Python Map ()

Khi làm việc với một danh sách (hoặc một tuple), bạn thường cần chuyển đổi các yếu tố của danh sách và trả về một danh sách mới chứa phần tử được chuyển đổi.

Giả sử, bạn muốn tăng gấp đôi mỗi số trong danh sách

bonuses = [100, 200, 300] new_bonuses = [] for bonus in bonuses: new_bonuses.append(bonus*2) print(new_bonuses)

Code language: Python (python)
3 sau:

bonuses = [100, 200, 300]

Code language: Python (python)

Để làm điều đó, bạn có thể sử dụng một vòng lặp để lặp lại các yếu tố, nhân đôi mỗi phần tử và thêm nó vào một danh sách mới như thế này:

bonuses = [100, 200, 300] new_bonuses = [] for bonus in bonuses: new_bonuses.append(bonus*2) print(new_bonuses)

Code language: Python (python)

Output:

[200, 400, 600]

Code language: Python (python)

Python cung cấp một cách đẹp hơn để thực hiện loại nhiệm vụ này bằng cách sử dụng chức năng tích hợp

bonuses = [100, 200, 300] new_bonuses = [] for bonus in bonuses: new_bonuses.append(bonus*2) print(new_bonuses)

Code language: Python (python)
2.

Hàm

bonuses = [100, 200, 300] new_bonuses = [] for bonus in bonuses: new_bonuses.append(bonus*2) print(new_bonuses)

Code language: Python (python)
2 lặp lại trên tất cả các phần tử trong một danh sách (hoặc một tuple), áp dụng một hàm cho mỗi phần tử và trả về một trình lặp mới của các phần tử mới.

Sau đây cho thấy cú pháp cơ bản của hàm

bonuses = [100, 200, 300] new_bonuses = [] for bonus in bonuses: new_bonuses.append(bonus*2) print(new_bonuses)

Code language: Python (python)
2:

iterator = map(fn, list)

Code language: Python (python)

Trong cú pháp này,

bonuses = [100, 200, 300] new_bonuses = [] for bonus in bonuses: new_bonuses.append(bonus*2) print(new_bonuses)

Code language: Python (python)
7 là tên của hàm sẽ gọi trên từng yếu tố của danh sách.

Trên thực tế, bạn có thể chuyển bất kỳ điều gì có thể lặp lại cho chức năng

bonuses = [100, 200, 300] new_bonuses = [] for bonus in bonuses: new_bonuses.append(bonus*2) print(new_bonuses)

Code language: Python (python)
2, không chỉ là một danh sách hoặc tuple.

Quay lại ví dụ trước, để sử dụng chức năng

bonuses = [100, 200, 300] new_bonuses = [] for bonus in bonuses: new_bonuses.append(bonus*2) print(new_bonuses)

Code language: Python (python)
2, bạn xác định một hàm tăng gấp đôi tiền thưởng trước và sau đó sử dụng hàm bản đồ () như sau:

def double(bonus): return bonus * 2 bonuses = [100, 200, 300] iterator = map(double, bonuses)

Code language: Python (python)

Hoặc bạn làm cho mã này súc tích hơn bằng cách sử dụng biểu thức Lambda như sau:

bonuses = [100, 200, 300] iterator = map(lambda bonus: bonus*2, bonuses)

Code language: Python (python)

Khi bạn có trình lặp, bạn có thể lặp lại các phần tử mới bằng cách sử dụng vòng lặp

[200, 400, 600]

Code language: Python (python)
0.

Hoặc bạn có thể chuyển đổi trình lặp lại thành danh sách bằng cách sử dụng hàm

[200, 400, 600]

Code language: Python (python)
1:

bonuses = [100, 200, 300] iterator = map(lambda bonus: bonus*2, bonuses) print(list(iterator))

Code language: Python (python)

Thêm các ví dụ về hàm python map () với danh sách

Hãy để Lừa lấy thêm một số ví dụ về việc sử dụng hàm python map () với danh sách.

1) Sử dụng hàm python map () cho danh sách các chuỗi

Ví dụ sau sử dụng hàm

bonuses = [100, 200, 300] new_bonuses = [] for bonus in bonuses: new_bonuses.append(bonus*2) print(new_bonuses)

Code language: Python (python)
2 để trả về một danh sách mới trong đó mỗi phần tử được chuyển thành trường hợp thích hợp:

names = ['david', 'peter', 'jenifer'] new_names = map(lambda name: name.capitalize(), names) print(list(new_names))

Code language: Python (python)

Output:

['David', 'Peter', 'Jenifer']

Code language: Python (python)

2) Sử dụng hàm python map () vào danh sách các bộ dữ

Giả sử rằng bạn có giỏ hàng sau đây được đại diện như một danh sách các bộ dữ liệu:

carts = [['SmartPhone', 400], ['Tablet', 450], ['Laptop', 700]]

Code language: Python (python)

Và bạn cần tính số tiền thuế cho mỗi sản phẩm với 10% thuế 10%. Ngoài ra, bạn cần thêm số tiền thuế vào phần tử thứ ba của mỗi mục trong danh sách.

Danh sách trả lại phải là một cái gì đó như thế này:

bonuses = [100, 200, 300] new_bonuses = [] for bonus in bonuses: new_bonuses.append(bonus*2) print(new_bonuses)

Code language: Python (python)
0

Để làm như vậy, bạn có thể sử dụng chức năng Bản đồ () để tạo một yếu tố mới của danh sách và thêm số tiền thuế mới cho từng loại như thế này:

bonuses = [100, 200, 300] new_bonuses = [] for bonus in bonuses: new_bonuses.append(bonus*2) print(new_bonuses)

Code language: Python (python)
1

Bản tóm tắt

  • Sử dụng bản đồ Python () để gọi hàm trên mọi mục của danh sách và trả về trình lặp.

Bạn có thấy hướng dẫn này hữu ích không?

Chúng ta có thể gán một danh sách cho một danh sách khác trong Python không?

Các danh sách có thể được sao chép vào một danh sách mới bằng cách sử dụng hàm mở rộng ()..

Tôi có thể sử dụng bản đồ trên một danh sách trong Python không?

Trong Python, bạn có thể sử dụng map () để áp dụng các hàm tích hợp, biểu thức lambda (lambda), các hàm được xác định với def, v.v., cho tất cả các mục của các mục được lặp như danh sách và bộ dữ liệu.you can use map() to apply built-in functions, lambda expressions ( lambda ), functions defined with def , etc., to all items of iterables such as lists and tuples.