Trong phân tích dữ liệu, đôi khi cần phải thêm một số giá trị vào từng phần tử trong danh sách python để đánh giá về kết quả của một kịch bản mới. Điều này giúp kiểm tra nhiều kịch bản về cách tập dữ liệu sẽ hoạt động với các giá trị khác nhau, do đó tạo ra một mô hình hoặc thuật toán có thể xử lý các tình huống đó. Trong bài viết này, chúng ta sẽ xem cách chúng ta có thể xử lý yêu cầu này.
Sử dụng tính năng hiểu danh sách
Hiểu danh sách là một cách xử lý danh sách thông thường mà chúng ta lặp qua từng phần tử của danh sách. Trong ví dụ dưới đây, chúng tôi thêm cùng một số vào mỗi phần tử của danh sách bằng cách sử dụng một vòng lặp for đơn giản.
Ví dụ
orig_list = [5, 6, 7, 4, 10] print ("The given list is : " + str(orig_list)) # Use list comprehension new_list = [n + 5 for n in orig_list] # printing result print ("After adding 5 to each element to list : " + str(new_list))
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
The given list is : [5, 6, 7, 4, 10] After adding 5 to each element to list : [10, 11, 12, 9, 15]
Sử dụng lambda với bản đồ
Phương thức map và add cũng có thể cho chúng ta kết quả tương tự. Các hàm lambda lặp lại cùng một hành động đối với số lần lặp được đính kèm và bản đồ được sử dụng để nắm bắt kết quả sau khi tất cả các lần lặp lambda kết thúc.
Ví dụ
orig_list = [5, 6, 7, 4, 10] print ("The given list is : " + str(orig_list)) #Using map() + lambda new_list= list(map(lambda m : m + 3, orig_list)) print ("After adding i to each element to list : " + str(new_list))
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
The given list is : [5, 6, 7, 4, 10] After adding i to each element to list : [8, 9, 10, 7, 13]
Sử dụng map () và add ()
Thay cho toán tử lambda, chúng ta cũng có thể sử dụng phương thức thêm cùng với bản đồ. Trong ví dụ dưới đây, chúng tôi tạo một danh sách khác có số phần tử bằng với độ dài của danh sách và nó chứa số cần được thêm vào. Sau đó, chúng tôi áp dụng phương pháp bản đồ.
Ví dụ
import operator orig_list = [5, 6, 7, 4, 10] print ("The given list is : " + str(orig_list)) # initializing new list list_with_k_value = [9] * len(orig_list) # using map() + operator.add new_list = list(map(operator.add, orig_list, list_with_k_value)) print ("After adding i2 to each element to list : " + str(new_list))
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
The given list is : [5, 6, 7, 4, 10] After adding i2 to each element to list : [14, 15, 16, 13, 19]