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

Trích xuất tuple có tất cả phần tử độ dài N chữ số từ list trong Python

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 sub trong 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ố.