Có tùy chọn cách lọc các chuỗi đó khỏi danh sách chuỗi có chứa ví dụ 3 ký tự bằng nhau không? Tôi đã tạo ra một phương pháp có thể làm điều đó nhưng tôi tò mò liệu có cách nào hay hơn hoặc hiệu quả hơn hay đơn giản hơn để làm điều đó.Chuỗi bộ lọc trong đó có n ký tự bằng nhau trong một hàng
list_of_strings = []
def check_3_in_row(string):
for ch in set(string):
if ch*3 in string:
return True
return False
new_list = [x for x in list_of_strings if check_3_in_row(x)]
EDIT: Tôi vừa phát hiện ra một giải pháp:
new_list = [x for x in set(keywords) if any(ch*3 in x for ch in x)]
Nhưng tôi không chắc chắn đó là cách nhanh hơn - regexp hoặc này.
Liên quan: [sử dụng lại để tìm các ký tự liên tục lặp lại] (http://stackoverflow.com/questions/7147796/python-use-re-to-find-consecutively-repeated-chars) –