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

Python – Trích xuất chuỗi chứa ít nhất K ký tự từ tập cho trước

Giới thiệu

Để lọc các chuỗi trong list mà chứa ít nhất K ký tự thuộc một tập ký tự cho trước, dùng list comprehension với sum() đếm số ký tự khớp.

Ví dụ minh họa

my_list = ["Python", "is", "fun", "to", "learn"]
print("Danh sách:", my_list)

my_char_list = ['e', 't', 's', 'm', 'n']
my_key = 2
print("Tập ký tự:", my_char_list)
print("Ngưỡng K:", my_key)

my_result = [element for element in my_list if sum(ch in my_char_list for ch in element) >= my_key]
print("Chuỗi có >= K ký tự từ tập:")
print(my_result)

Kết quả đầu ra

Danh sách: ['Python', 'is', 'fun', 'to', 'learn']
Tập ký tự: ['e', 't', 's', 'm', 'n']
Ngưỡng K: 2
Chuỗi có >= K ký tự từ tập:
['Python', 'learn']

Giải thích

  • ch in my_char_list trả về True/False (1/0).
  • sum(...) đếm số ký tự của chuỗi nằm trong tập cho trước.
  • Giữ chuỗi nếu count >= K.
  • "Python" có 't','n' (2), "learn" có 'e','a'? wait 'a' không trong tập. "learn": l,e,a,r,n -> e,n (2). "is": i,s -> s (1). "fun": f,u,n -> n (1). "to": t,o -> t (1).