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

Python – Lọc tuple toàn chữ in hoa từ list tuple

Khi cần lọc các tuple chỉ chứa chữ in hoa (uppercase) từ list tuple, ta dùng vòng lặp, biến boolean, append() và isupper().

Ví dụ

my_list = [("PYTHON", "IS", "Fun"), ("PYTHON", "COOl"), ("PYTHON",), "ORIENTED", "OBJECT"]
print("Danh sách:")
print(my_list)

my_result_list = []

for sub_list in my_list:
    my_result = True
    for element in sub_list:
        if not element.isupper():
            my_result = False
            break
    if my_result:
        my_result_list.append(sub_list)

print("Kết quả (chỉ toàn uppercase):")
print(my_result_list)

Kết quả đầu ra

Danh sách:
[('PYTHON', 'IS', 'Fun'), ('PYTHON', 'COOl'), ('PYTHON',), 'ORIENTED', 'OBJECT']
Kết quả (chỉ toàn uppercase):
[('PYTHON',), 'ORIENTED', 'OBJECT']

Giải thích

  • Duyệt từng phần tử của list ngoài (có thể là tuple hoặc string).
  • Với mỗi phần tử con, kiểm tra element.isupper().
  • Tuple 1: "Fun" không phải uppercase → loại.
  • Tuple 2: "COOl" có chữ thường → loại.
  • Tuple 3: ("PYTHON",) → toàn uppercase → giữ.
  • String "ORIENTED", "OBJECT" → toàn uppercase → giữ.

Cách viết gọn (list comprehension):

result = [item for item in my_list if all(str(e).isupper() for e in (item if isinstance(item, tuple) else (item,)))]