Thuật toán Knuth-Morris-Pratt là một phương pháp tốt để tìm một chuỗi bên trong một chuỗi khác (vì tôi đã thấy DNA, tôi đoán bạn muốn điều này để mở rộng lên hàng tỷ?). Show
Liên kết nơi tôi có mã KMP Python (và tích hợp, sẽ nhanh hơn cho các vấn đề nhỏ vì hằng số thời gian chạy). Để có hiệu suất cạnh chảy máu, hãy sử dụng bảng tiền tố và băm các cửa sổ của chuỗi của bạn dưới dạng số nguyên cơ sở 4 (trong sinh học, bạn gọi chúng là K-MERS hoặc Oligos). ; ) Chúc may mắn! Chỉnh sửa: Ngoài ra còn có một thủ thuật hay, bạn sắp xếp danh sách chứa mọi tiền tố (tổng n) trong chuỗi đầu tiên và mỗi tiền tố (tổng n) trong chuỗi thứ hai. Nếu họ chia sẻ phần tiếp theo chung lớn nhất, thì chúng phải liền kề trong danh sách được sắp xếp, vì vậy hãy tìm phần tử từ chuỗi khác gần nhất trong danh sách được sắp xếp, và sau đó lấy tiền tố dài nhất hoàn toàn. :) There's also a nice trick where you sort a list containing every prefix (n total) in the first string and every prefix (n total) in the second string. If they share the largest common subsequence, then they must be adjacent in the sorted list, so find the element from the other string that is closest in the sorted list, and then take the longest prefix that matches completely. : ) Trong bài viết này, chúng ta sẽ học cách giao nhau hai chuỗi theo những cách khác nhau. Thực hiện theo các bước dưới đây để giải quyết vấn đề.
Thí dụ& nbsp; bản demo trực tiếp # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result) Nếu bạn chạy mã trên, thì bạn sẽ nhận được kết quả sau. Đầu ratu Chúng tôi sẽ sử dụng bộ để giao nhau hai chuỗi. Thực hiện theo các bước dưới đây.
Thí dụ& nbsp; bản demo trực tiếp # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' # intersection result = set(string_1).intersection(string_2) # converting to string result_str = ''.join(result) # printing the result print(result_str) Nếu bạn chạy mã trên, thì bạn sẽ nhận được kết quả sau. Đầu raut Chúng tôi sẽ sử dụng bộ để giao nhau hai chuỗi. Thực hiện theo các bước dưới đây.Chuyển đổi hai chuỗi thành bộ.
Giao nhau hai bộ bằng phương pháp giao nhau.
Chuyển đổi tập hợp từ các từ trong S0List và S1List, sau đó giao với chúng để có được các từ chung và trả về số lượng kết quả giao lộ .. Làm thế nào để bạn tìm thấy sự khác biệt giữa hai chuỗi trong Python? Làm thế nào để có được sự khác biệt giữa hai chuỗi trong Python. Chuyển đổi tập hợp từ các từ trong S0List và S1List, sau đó giao với chúng để có được các từ chung và trả về số lượng kết quả giao lộ .. Làm thế nào để bạn tìm thấy sự khác biệt giữa hai chuỗi trong Python? Làm thế nào để có được sự khác biệt giữa hai chuỗi trong Python. String1 = "ABC". String2 = "CDEF". first_set = set (String1). Naive Method
# initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)0 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)1 = # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)3 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)4 = # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)6 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)7 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)8 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)9 tu0 tu1 tu2 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)8 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)9 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)1 tu6 tu7 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)8 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)9 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' # intersection result = set(string_1).intersection(string_2) # converting to string result_str = ''.join(result) # printing the result print(result_str)0 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' # intersection result = set(string_1).intersection(string_2) # converting to string result_str = ''.join(result) # printing the result print(result_str)1 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)4 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' # intersection result = set(string_1).intersection(string_2) # converting to string result_str = ''.join(result) # printing the result print(result_str)3 = # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' # intersection result = set(string_1).intersection(string_2) # converting to string result_str = ''.join(result) # printing the result print(result_str)5 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' # intersection result = set(string_1).intersection(string_2) # converting to string result_str = ''.join(result) # printing the result print(result_str)6 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' # intersection result = set(string_1).intersection(string_2) # converting to string result_str = ''.join(result) # printing the result print(result_str)7 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' # intersection result = set(string_1).intersection(string_2) # converting to string result_str = ''.join(result) # printing the result print(result_str)8 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' # intersection result = set(string_1).intersection(string_2) # converting to string result_str = ''.join(result) # printing the result print(result_str)3 ut0 Đầu ra: String intersection is : eksfor & nbsp; Phương pháp #2: Sử dụng ut1 Method #2 : Using ut1 Đầu tiên, cả hai chuỗi được chuyển đổi thành các bộ bằng cách sử dụng ut2 và sau đó giao nhau được thực hiện bằng cách sử dụng ut3. Trả về bộ sắp xếp.
# initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)0 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)1 = # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)3 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)4 = # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)6 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)7 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)8 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)9 tu0 Đầu ra: String intersection is : {'e', 'f', 's', 'o', 'k', 'r'} & nbsp; Phương pháp #2: Sử dụng String intersection is : {'e', 'f', 's', 'o', 'k', 'r'}0 Đầu tiên, cả hai chuỗi được chuyển đổi thành các bộ bằng cách sử dụng ut2 và sau đó giao nhau được thực hiện bằng cách sử dụng ut3. Trả về bộ sắp xếp.
# initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)0 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)1 = # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)3 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)4 = # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)6 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)7 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)8 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)9 tu0 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)7 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)8 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from both strings for char in string_1: if char in string_2 and not char in result: result += char # printing the result print(result)9 tu0 Đầu ra: String intersection is : eksfor Làm thế nào để bạn chồng chéo một chuỗi trong Python?Để giải quyết vấn đề này, chúng ta có thể sử dụng hàm find () trong Python. Nó trả về vị trí bắt đầu của lần xuất hiện đầu tiên của chuỗi con trong chuỗi đã cho, sau đó chúng tôi tăng vị trí này lên 1 và tiếp tục tìm kiếm từ vị trí đó cho đến khi kết thúc chuỗi.use find() function in Python. It returns the start position of the first occurrence of substring in the given string, then we increment this position by 1 and continue the search from that position till the end of the string.
Làm thế nào để bạn in giao điểm của hai chuỗi trong Python?Thực hiện theo các bước dưới đây để giải quyết vấn đề.Khởi tạo hai chuỗi và một chuỗi trống.Lặp lại trong chuỗi đầu tiên và thêm ký tự hiện tại vào chuỗi mới nếu nó trình bày trong chuỗi thứ hai và không có trong chuỗi mới rồi.In kết quả.
Làm thế nào để bạn tìm thấy những từ phổ biến trong hai chuỗi trong Python?Khoa học dữ liệu thực tế sử dụng Python.. Chuyển đổi S0 và S1 thành chữ thường .. S0List: = một danh sách các từ trong S0 .. S1List: = một danh sách các từ trong S1 .. Chuyển đổi tập hợp từ các từ trong S0List và S1List, sau đó giao với chúng để có được các từ chung và trả về số lượng kết quả giao lộ .. Làm thế nào để bạn tìm thấy sự khác biệt giữa hai chuỗi trong Python?Làm thế nào để có được sự khác biệt giữa hai chuỗi trong Python.. String1 = "ABC". String2 = "CDEF". first_set = set (String1). Second_set = set (String2). khác biệt = First_set.symmetric_difference (Second_set). print(difference). |