Khi cần tìm tần suất phân số (fractional frequency) của các phần tử trong danh sách, dùng dictionary comprehension, vòng lặp đơn giản và phương thức Counter.
Ví dụ
Minh họa dưới đây:
from collections import Counter
my_list = [14, 15, 42, 60, 75, 50, 45, 55, 14, 60, 48, 65]
print("Danh sách là:")
print(my_list)
my_num = {index: 0 for index in set(my_list)}
my_denominator = Counter(my_list)
my_result = []
for element in my_list:
my_num[element] += 1
my_result.append(str(my_num[element]) + '/' + str(my_denominator[element]))
print("Kết quả là:")
print(my_result)
Kết quả
Danh sách là: [14, 15, 42, 60, 75, 50, 45, 55, 14, 60, 48, 65] Kết quả là: ['1/2', '1/1', '1/1', '1/2', '1/1', '1/1', '1/1', '1/1', '2/2', '2/2', '1/1', '1/1']
Giải thích
- Import gói cần thiết vào môi trường.
- Định nghĩa danh sách số nguyên và hiển thị ra console.
- Dùng dictionary comprehension lấy các phần tử duy nhất từ danh sách.
- Gán vào biến.
- Tạo Counter từ danh sách.
- Định nghĩa danh sách rỗng.
- Lặp qua danh sách, dùng toán tử
/thêm phần tử cụ thể vào danh sách rỗng bằngappend. - Đây là đầu ra hiển thị trên console.