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

Python - Tách chuỗi con độ dài N với K ký tự phân biệt


Tìm tất cả các chuỗi con (substring) có độ dài N trong chuỗi gốc mà chứa đúng K ký tự phân biệt. Duyệt qua các vị trí bắt đầu, dùng set() để đếm ký tự duy nhất.

Ví dụ

Minh họa:

my_string = 'Pythonisfun'
print("Chuỗi:", my_string)
my_substring = 2
my_chars = 2
my_result = []
for idx in range(0, len(my_string) - my_substring + 1):
    if len(set(my_string[idx: idx + my_substring])) == my_chars:
        my_result.append(my_string[idx: idx + my_substring])
print("Kết quả:", my_result)

Kết quả

Chuỗi: Pythonisfun
Kết quả: ['Py', 'yt', 'th', 'ho', 'on', 'ni', 'is', 'sf', 'fu', 'un']

Giải thích

  • Định nghĩa độ dài chuỗi con N và số ký tự phân biệt K.
  • Duyệt index từ 0 đến len - N.
  • Lấy substring my_string[idx:idx+N], chuyển thành set, kiểm tra độ dài set == K.
  • Nếu đúng, thêm vào kết quả.