Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Thêm K vào mỗi phần tử trong list số nguyên Python

Trong phân tích dữ liệu, đôi khi cần thêm một giá trị vào mỗi phần tử trong list Python để đánh giá kết quả của 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ẽ hành xử với các giá trị khác nhau, từ đó xây dựng mô hình hoặc thuật toán xử lý các kịch bản đó. Trong bài viết này, chúng ta sẽ thấy cách xử lý yêu cầu này.

Sử dụng List Comprehension

List comprehension là cách thông thường xử lý list, lặp qua mỗi phần tử. Trong ví dụ dưới, thêm cùng một số vào mỗi phần tử list bằng vòng lặp for đơn giản.

Ví dụ

orig_list = [5, 6, 7, 4, 10]
print("Danh sách cho trước là : " + str(orig_list))
# Sử dụng list comprehension
new_list = [n + 5 for n in orig_list]
# In kết quả
print("Sau khi thêm 5 vào mỗi phần tử list : " + str(new_list))

Kết quả

Chạy đoạn code trên cho kết quả sau:

Danh sách cho trước là : [5, 6, 7, 4, 10]
Sau khi thêm 5 vào mỗi phần tử list : [10, 11, 12, 9, 15]

Sử dụng lambda với map

Phương thức map và add cũng cho cùng kết quả. Lambda function lặp lại hành động cho số lần lặp cố định, map dùng để lấy kết quả sau khi tất cả vòng lặp lambda kết thúc.

Ví dụ

orig_list = [5, 6, 7, 4, 10]
print("Danh sách cho trước là : " + str(orig_list))
# Sử dụng map() + lambda
new_list = list(map(lambda m: m + 3, orig_list))
print("Sau khi thêm i vào mỗi phần tử list : " + str(new_list))

Kết quả

Chạy đoạn code trên cho kết quả sau:

Danh sách cho trước là : [5, 6, 7, 4, 10]
Sau khi thêm i vào mỗi phần tử list : [8, 9, 10, 7, 13]

Sử dụng map() và add()

Thay vì toán tử lambda, ta cũng có thể dùng phương thức add cùng map. Trong ví dụ dưới, tạo list khác có cùng số phần tử và chứa số cần cộng. Sau đó áp dụng map.

Ví dụ

import operator
orig_list = [5, 6, 7, 4, 10]
print("Danh sách cho trước là : " + str(orig_list))
# Khởi tạo list mới
list_with_k_value = [9] * len(orig_list)
# Sử dụng map() + operator.add
new_list = list(map(operator.add, orig_list, list_with_k_value))
print("Sau khi thêm i2 vào mỗi phần tử list : " + str(new_list))

Kết quả

Chạy đoạn code trên cho kết quả sau:

Danh sách cho trước là : [5, 6, 7, 4, 10]
Sau khi thêm i2 vào mỗi phần tử list : [14, 15, 16, 13, 19]