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

Python – Phân phối lại giá trị sau khi cắt bỏ (Trimmed Values)

Khi cần phân phối lại các giá trị sau khi cắt bỏ (trimmed), ta dùng list comprehension và toán tử /.

Ví dụ

my_list = [11, 26, 24, 75, 96, 37, 48, 29, 93]
print("Danh sách là:")
print(my_list)

key = 2
print("Giá trị key là:")
print(key)

full_sum = sum(my_list)
trimmed_list = my_list[key:len(my_list) - key]
trim_sum = sum(trimmed_list)
add_value = (full_sum - trim_sum) / len(trimmed_list)
result = [ele + add_value for ele in trimmed_list]

print("Danh sách kết quả:")
print(result)

Kết quả đầu ra

Danh sách là:
[11, 26, 24, 75, 96, 37, 48, 29, 93]
Giá trị key là:
2
Danh sách kết quả:
[55.8, 106.8, 127.8, 68.8, 79.8]

Giải thích

  • Tính tổng toàn bộ danh sách full_sum.
  • Cắt bỏ key phần tử đầu và cuối → trimmed_list.
  • Tính tổng danh sách đã cắt trim_sum.
  • Giá trị cần thêm vào mỗi phần tử: (full_sum - trim_sum) / len(trimmed_list).
  • Dùng list comprehension cộng add_value vào mỗi phần tử của trimmed_list.

Ý nghĩa: Phân bổ lại tổng giá trị bị cắt bỏ đều cho các phần tử còn lại.