Khi cần đếm số lượng giá trị khác nhau xuất hiện liên tiếp trong list, ta dùng vòng lặp, append() và set().
Ví dụ
my_list = [24, 24, 24, 15, 15, 64, 64, 71, 13, 95, 100]
print("Danh sách là:")
print(my_list)
my_result = []
for index in range(0, len(my_list) - 1):
if my_list[index] == my_list[index + 1]:
my_result.append(my_list[index])
my_result = len(list(set(my_result)))
print("Kết quả là:")
print(my_result)
Kết quả đầu ra
Danh sách là: [24, 24, 24, 15, 15, 64, 64, 71, 13, 95, 100] Kết quả là: 3
Giải thích
- Duyệt list, nếu phần tử hiện tại bằng phần tử tiếp theo, thêm vào
my_result. - Chuyển
my_resultthành set để lấy giá trị duy nhất, rồi chuyển về list và lấy độ dài. - Kết quả 3 tương ứng với 3 giá trị xuất hiện liên tiếp: 24, 15, 64.
Lưu ý: Cách này đếm số giá trị khác nhau có ít nhất một cặp liên tiếp. Nếu muốn đếm tổng số cặp liên tiếp, bỏ set().