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

Python – Trích xuất chuỗi đã sắp xếp (Sorted Strings)

Lọc ra các chuỗi trong danh sách mà các ký tự của nó đã theo thứ tự sắp xếp (alphabetically sorted). Sử dụng sorted() và join() trong list comprehension.

Mã nguồn

my_list = ["pyt", "Fdf", "Fun"]
print("Danh sách:", my_list)

# Kiểm tra: chuỗi có bằng chuỗi đã sắp xếp không?
my_result = [element for element in my_list if ''.join(sorted(element)) == element]

print("Chuỗi đã sắp xếp:", my_result)

Kết quả

Danh sách: ['pyt', 'Fdf', 'Fun']
Chuỗi đã sắp xếp: ['Fdf']

Giải thích

  • sorted(element) trả về list ký tự đã sắp xếp: ['F', 'd', 'f'] cho "Fdf".
  • ''.join(...) ghép lại thành chuỗi: "Fdf".
  • So sánh với chuỗi gốc: "Fdf" == "Fdf" → True.
  • "pyt": sorted → "pty" ≠ "pyt" → False.
  • "Fun": sorted → "Fnu" ≠ "Fun" → False (chữ hoa 'F' < chữ thường).

Lưu ý về case-sensitive

sorted() sắp xếp theo mã ASCII: chữ hoa (65-90) trước chữ thường (97-122).

Để không phân biệt chữ hoa/thường:


my_result = [e for e in my_list if ''.join(sorted(e.lower())) == e.lower()]