Dùng list comprehension để lọc các tuple trong list mà mọi phần tử đều có đúng N chữ số.
Ví dụ
my_list = [(67, 2), (34, 65), (212, 23), (17, 67), (18,)]
print("List gốc:", my_list)
N = 2
print("N =", N)
result = [sub for sub in my_list if all(len(str(ele)) == N for ele in sub)]
print("Các tuple có tất cả phần tử", N, "chữ số:", result)
Kết quả
List gốc: [(67, 2), (34, 65), (212, 23), (17, 67), (18,)] N = 2 Các tuple có tất cả phần tử 2 chữ số: [(34, 65), (17, 67), (18,)]
Giải thích
- Duyệt qua từng tuple
subtrong list. - Kiểm tra
all(len(str(ele)) == N for ele in sub): mọi phần tử đều có độ dài chuỗi bằng N. - (67,2) bị loại vì 2 có 1 chữ số. (212,23) bị loại vì 212 có 3 chữ số.
- (18,) được giữ vì phần tử duy nhất có 2 chữ số.