Khi cần kiểm tra danh sách tuple có chứa duy nhất một giá trị phần tử (tất cả tuple cùng giá trị), ta dùng biến cờ và vòng lặp đơn giản.
Ví dụ
my_list = [(72, 72, 72), (72, 72), (72, 72)]
print("Danh sách là:")
print(my_list)
my_result = True
for sub in my_list:
flag = True
for element in sub:
if element != my_list[0][0]:
flag = False
break
if not flag:
my_result = False
break
if my_result:
print("Tuple chứa đơn một phần tử duy nhất")
else:
print("Tuple KHÔNG chứa đơn một phần tử duy nhất")
Kết quả đầu ra
Danh sách là: [(72, 72, 72), (72, 72), (72, 72)] Tuple chứa đơn một phần tử duy nhất
Giải thích
- Định nghĩa danh sách tuple và hiển thị.
- Gán
my_result = True. - Duyệt từng tuple con, gán
flag = True. - Nếu phần tử khác phần tử đầu tiên của tuple đầu tiên, gán
flag = Falsevà thoát. - Nếu
flaglà False, gánmy_result = Falsevà thoát vòng lặp ngoài. - Kiểm tra
my_resultđể in thông báo.
Cách viết gọn (Pythonic):
all_elements = [elem for tup in my_list for elem in tup]
result = len(set(all_elements)) == 1
print("Chỉ có một giá trị duy nhất" if result else "Có nhiều giá trị khác nhau")