Nếu bạn là người mới lập trình hoặc đến từ một ngôn ngữ lập trình không phải Python, bạn có thể đang tìm kiếm cách tốt nhất để kiểm tra xem một chuỗi có chứa một chuỗi khác hay không trong Python
Việc xác định các chuỗi con như vậy sẽ hữu ích khi bạn đang làm việc với nội dung văn bản từ một tệp hoặc sau khi bạn nhận được đầu vào của người dùng. Bạn có thể muốn thực hiện các hành động khác nhau trong chương trình của mình tùy thuộc vào việc có chuỗi con hay không
Trong hướng dẫn này, bạn sẽ tập trung vào cách Pythonic nhất để giải quyết tác vụ này, sử dụng toán tử thành viên
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
0. Ngoài ra, bạn sẽ tìm hiểu cách xác định các phương thức chuỗi phù hợp cho các trường hợp sử dụng có liên quan nhưng khác nhauCuối cùng, bạn cũng sẽ học cách tìm chuỗi con trong cột gấu trúc. Điều này hữu ích nếu bạn cần tìm kiếm dữ liệu từ tệp CSV. Bạn có thể sử dụng phương pháp mà bạn sẽ học trong phần tiếp theo, nhưng nếu bạn đang làm việc với dữ liệu dạng bảng, thì tốt nhất là tải dữ liệu vào DataFrame của gấu trúc và tìm kiếm các chuỗi con trong pandas
Tải xuống miễn phí. Nhấp vào đây để tải xuống mã mẫu mà bạn sẽ sử dụng để kiểm tra xem một chuỗi có chứa chuỗi con không
Cách xác nhận rằng một chuỗi Python chứa một chuỗi khác
Nếu bạn cần kiểm tra xem một chuỗi có chứa chuỗi con hay không, hãy sử dụng toán tử thành viên của Python
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
0. Trong Python, đây là cách được đề xuất để xác nhận sự tồn tại của chuỗi con trong chuỗi>>>
>>> raw_file_content = """Hi there and welcome.
.. This is a special hidden file with a SECRET secret.
.. I don't want to tell you The Secret,
.. but I do want to secretly tell you that I have one."""
>>> "secret" in raw_file_content
True
Toán tử thành viên
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
0 cung cấp cho bạn một cách nhanh chóng và dễ đọc để kiểm tra xem một chuỗi con có tồn tại trong một chuỗi hay không. Bạn có thể nhận thấy rằng dòng mã gần giống như tiếng AnhGhi chú. Nếu bạn muốn kiểm tra xem chuỗi con có nằm trong chuỗi hay không thì bạn có thể sử dụng
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
3>>>
>>> "secret" not in raw_file_content
False
Bởi vì chuỗi con
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
4 có mặt trong >>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
5, nên toán tử >>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
3 trả về >>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
7Khi bạn sử dụng
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
0, biểu thức sẽ trả về giá trị Boolean
9 nếu Python tìm thấy chuỗi con>>> if "secret" in raw_file_content: .. print["Found!"] ... Found!
7 nếu Python không tìm thấy chuỗi con>>> if "secret" in raw_file_content: .. print["Found!"] ... Found!
Bạn có thể sử dụng cú pháp trực quan này trong các câu lệnh có điều kiện để đưa ra quyết định trong mã của mình
>>>
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
Trong đoạn mã này, bạn sử dụng toán tử thành viên để kiểm tra xem
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
4 có phải là chuỗi con của >>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
5 hay không. Nếu đúng như vậy, thì bạn sẽ in một tin nhắn đến thiết bị đầu cuối. Mọi mã thụt lề sẽ chỉ thực thi nếu chuỗi Python mà bạn đang kiểm tra chứa chuỗi con mà bạn cung cấpToán tử thành viên
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
0 là người bạn tốt nhất của bạn nếu bạn chỉ cần kiểm tra xem chuỗi Python có chứa chuỗi con hay khôngTuy nhiên, nếu bạn muốn biết thêm về chuỗi con thì sao?
Python đã tìm thấy sự cố nào trong số này?
Loại bỏ các quảng cáoTổng quát hóa séc của bạn bằng cách loại bỏ phân biệt chữ hoa chữ thường
Chuỗi Python phân biệt chữ hoa chữ thường. Nếu chuỗi con mà bạn cung cấp sử dụng cách viết hoa khác với cùng một từ trong văn bản của bạn, thì Python sẽ không tìm thấy chuỗi đó. Ví dụ: nếu bạn kiểm tra từ viết thường
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
4 trên phiên bản viết hoa tiêu đề của văn bản gốc, kiểm tra toán tử thành viên sẽ trả về >>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
7>>>
>>> raw_file_content = """Hi there and welcome.
.. This is a special hidden file with a SECRET secret.
.. I don't want to tell you The Secret,
.. but I do want to secretly tell you that I have one."""
>>> "secret" in raw_file_content
True
0Mặc dù thực tế là từ bí mật xuất hiện nhiều lần trong văn bản viết hoa tiêu đề
>>> raw_file_content = """Hi there and welcome.
.. This is a special hidden file with a SECRET secret.
.. I don't want to tell you The Secret,
.. but I do want to secretly tell you that I have one."""
>>> "secret" in raw_file_content
True
07, nhưng nó không bao giờ xuất hiện ở tất cả các chữ thường. Đó là lý do tại sao kiểm tra mà bạn thực hiện với toán tử thành viên trả về >>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
7. Python không thể tìm thấy chuỗi toàn chữ thường >>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
4 trong văn bản được cung cấpCon người có cách tiếp cận ngôn ngữ khác với máy tính. Đây là lý do tại sao bạn thường muốn bỏ qua cách viết hoa khi kiểm tra xem một chuỗi có chứa chuỗi con hay không trong Python
Bạn có thể khái quát hóa việc kiểm tra chuỗi con của mình bằng cách chuyển đổi toàn bộ văn bản đầu vào thành chữ thường
>>>
>>> raw_file_content = """Hi there and welcome.
.. This is a special hidden file with a SECRET secret.
.. I don't want to tell you The Secret,
.. but I do want to secretly tell you that I have one."""
>>> "secret" in raw_file_content
True
4Chuyển đổi văn bản đầu vào của bạn thành chữ thường là một cách phổ biến để giải thích cho thực tế là con người nghĩ về các từ chỉ khác nhau về cách viết hoa là cùng một từ, trong khi máy tính thì không
Ghi chú. Đối với các ví dụ sau, bạn sẽ tiếp tục làm việc với
>>> raw_file_content = """Hi there and welcome.
.. This is a special hidden file with a SECRET secret.
.. I don't want to tell you The Secret,
.. but I do want to secretly tell you that I have one."""
>>> "secret" in raw_file_content
True
40, phiên bản chữ thường của văn bản của bạnNếu bạn làm việc với chuỗi gốc [
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
5] hoặc chuỗi trong tiêu đề [>>> raw_file_content = """Hi there and welcome.
.. This is a special hidden file with a SECRET secret.
.. I don't want to tell you The Secret,
.. but I do want to secretly tell you that I have one."""
>>> "secret" in raw_file_content
True
07], thì bạn sẽ nhận được kết quả khác vì chúng không ở dạng chữ thường. Vui lòng thử điều đó trong khi bạn làm việc với các ví dụBây giờ bạn đã chuyển đổi chuỗi thành chữ thường để tránh các sự cố ngoài ý muốn xuất phát từ phân biệt chữ hoa chữ thường, đã đến lúc đào sâu hơn và tìm hiểu thêm về chuỗi con
Tìm hiểu thêm về chuỗi con
Toán tử thành viên
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
0 là một cách tuyệt vời để kiểm tra mô tả xem có một chuỗi con trong một chuỗi hay không, nhưng nó không cung cấp cho bạn bất kỳ thông tin nào khác hơn thế. Nó hoàn hảo cho việc kiểm tra có điều kiện—nhưng nếu bạn cần biết thêm về các chuỗi con thì sao?Python cung cấp nhiều phương thức chuỗi bổ sung cho phép bạn kiểm tra xem chuỗi đó chứa bao nhiêu chuỗi con đích, để tìm kiếm các chuỗi con theo các điều kiện phức tạp hoặc để xác định vị trí chỉ mục của chuỗi con trong văn bản của bạn
Trong phần này, bạn sẽ đề cập đến một số phương thức chuỗi bổ sung có thể giúp bạn tìm hiểu thêm về chuỗi con
Ghi chú. Bạn có thể đã thấy các phương pháp sau được sử dụng để kiểm tra xem một chuỗi có chứa chuỗi con hay không. Điều này là có thể — nhưng chúng không được sử dụng cho mục đích đó
Lập trình là một hoạt động sáng tạo và bạn luôn có thể tìm ra những cách khác nhau để hoàn thành cùng một nhiệm vụ. Tuy nhiên, để mã của bạn dễ đọc, tốt nhất bạn nên sử dụng các phương thức như chúng dự định trong ngôn ngữ mà bạn đang làm việc
Bằng cách sử dụng
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
0, bạn đã xác nhận rằng chuỗi chứa chuỗi con. Nhưng bạn không nhận được bất kỳ thông tin nào về vị trí của chuỗi conNếu bạn cần biết chuỗi con xuất hiện ở đâu trong chuỗi của mình, thì bạn có thể sử dụng
>>> raw_file_content = """Hi there and welcome.
.. This is a special hidden file with a SECRET secret.
.. I don't want to tell you The Secret,
.. but I do want to secretly tell you that I have one."""
>>> "secret" in raw_file_content
True
45 trên đối tượng chuỗi>>>
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
1Khi bạn gọi
>>> raw_file_content = """Hi there and welcome.
.. This is a special hidden file with a SECRET secret.
.. I don't want to tell you The Secret,
.. but I do want to secretly tell you that I have one."""
>>> "secret" in raw_file_content
True
45 trên chuỗi và chuyển chuỗi con đó làm đối số, bạn sẽ nhận được vị trí chỉ mục của ký tự đầu tiên trong lần xuất hiện đầu tiên của chuỗi conGhi chú. Nếu Python không thể tìm thấy chuỗi con, thì
>>> raw_file_content = """Hi there and welcome.
.. This is a special hidden file with a SECRET secret.
.. I don't want to tell you The Secret,
.. but I do want to secretly tell you that I have one."""
>>> "secret" in raw_file_content
True
45 sẽ đưa ra một ngoại lệ >>> raw_file_content = """Hi there and welcome.
.. This is a special hidden file with a SECRET secret.
.. I don't want to tell you The Secret,
.. but I do want to secretly tell you that I have one."""
>>> "secret" in raw_file_content
True
48Nhưng nếu bạn muốn tìm các lần xuất hiện khác của chuỗi con thì sao? . Do đó, bằng cách chuyển các vị trí chỉ mục cụ thể, bạn có thể bỏ qua các lần xuất hiện của chuỗi con mà bạn đã xác định
>>>
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
6Khi bạn chuyển một chỉ mục bắt đầu vượt qua lần xuất hiện đầu tiên của chuỗi con, thì Python sẽ tìm kiếm bắt đầu từ đó. Trong trường hợp này, bạn nhận được một trận đấu khác và không phải là một
>>> raw_file_content = """Hi there and welcome.
.. This is a special hidden file with a SECRET secret.
.. I don't want to tell you The Secret,
.. but I do want to secretly tell you that I have one."""
>>> "secret" in raw_file_content
True
48Điều đó có nghĩa là văn bản chứa chuỗi con nhiều hơn một lần. Nhưng nó có thường xuyên ở trong đó không?
Bạn có thể sử dụng
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
11 để nhanh chóng nhận được câu trả lời của mình bằng cách sử dụng mã Python mô tả và thành ngữ>>>
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
9Bạn đã sử dụng
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
11 trên chuỗi chữ thường và chuyển chuỗi con >>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
4 làm đối số. Python đếm tần suất chuỗi con xuất hiện trong chuỗi và trả về câu trả lời. Văn bản chứa chuỗi con bốn lần. Nhưng những chuỗi con này trông như thế nào?Bạn có thể kiểm tra tất cả các chuỗi con bằng cách tách văn bản của mình ở các đường viền từ mặc định và in các từ ra thiết bị đầu cuối của bạn bằng cách sử dụng vòng lặp
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
14>>>
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
3Trong ví dụ này, bạn sử dụng
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
15 để tách văn bản tại các khoảng trắng thành các chuỗi, mà Python gói thành một danh sách. Sau đó, bạn lặp lại danh sách này và sử dụng >>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
0 trên mỗi chuỗi này để xem liệu nó có chứa chuỗi con >>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
4 hay khôngGhi chú. Thay vì in các chuỗi con, bạn cũng có thể lưu chúng vào một danh sách mới, chẳng hạn bằng cách sử dụng cách hiểu danh sách với biểu thức điều kiện
>>>
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
7Trong trường hợp này, bạn xây dựng một danh sách chỉ từ những từ có chứa chuỗi con, về cơ bản là lọc văn bản
Bây giờ bạn có thể kiểm tra tất cả các chuỗi con mà Python xác định, bạn có thể nhận thấy rằng Python không quan tâm liệu có bất kỳ ký tự nào sau chuỗi con
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
4 hay không. Nó tìm thấy từ cho dù nó được theo sau bởi khoảng trắng hay dấu chấm câu. Nó thậm chí còn tìm thấy những từ như >>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
19Bạn nên biết điều đó, nhưng bạn có thể làm gì nếu muốn đặt các điều kiện chặt chẽ hơn cho việc kiểm tra chuỗi con của mình?
Loại bỏ các quảng cáoTìm chuỗi con có điều kiện bằng Regex
Bạn có thể chỉ muốn so khớp các lần xuất hiện của chuỗi con theo sau dấu chấm câu hoặc xác định các từ chứa chuỗi con cộng với các chữ cái khác, chẳng hạn như
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
19Đối với những trường hợp như vậy yêu cầu khớp chuỗi phức tạp hơn, bạn có thể sử dụng biểu thức chính quy hoặc biểu thức chính quy với mô-đun
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
61 của PythonVí dụ: nếu bạn muốn tìm tất cả các từ bắt đầu bằng
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
4 nhưng sau đó được theo sau bởi ít nhất một chữ cái bổ sung, thì bạn có thể sử dụng ký tự từ biểu thức chính quy [>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
63] theo sau là từ định lượng cộng [>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
64]>>>
>>> "secret" not in raw_file_content
False
0Hàm
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
65 trả về cả chuỗi con khớp với điều kiện cũng như vị trí chỉ mục bắt đầu và kết thúc của nó—chứ không chỉ là >>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
9Sau đó, bạn có thể truy cập các thuộc tính này thông qua các phương thức trên đối tượng
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
67, được ký hiệu là >>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
68>>>
>>> "secret" not in raw_file_content
False
1Những kết quả này mang lại cho bạn rất nhiều sự linh hoạt để tiếp tục làm việc với chuỗi con phù hợp
Ví dụ: bạn chỉ có thể tìm kiếm các chuỗi con được theo sau bởi dấu phẩy [
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
69] hoặc dấu chấm [>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
90]>>>
>>> "secret" not in raw_file_content
False
2Có hai kết quả khớp tiềm năng trong văn bản của bạn, nhưng bạn chỉ khớp kết quả đầu tiên phù hợp với truy vấn của mình. Khi bạn sử dụng
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
65, Python lại chỉ tìm thấy kết quả khớp đầu tiên. Điều gì sẽ xảy ra nếu bạn muốn tất cả các đề cập của >>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
4 phù hợp với một điều kiện nhất định?Để tìm tất cả các kết quả phù hợp bằng cách sử dụng
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
61, bạn có thể làm việc với >>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
94>>>
>>> "secret" not in raw_file_content
False
3Bằng cách sử dụng
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
94, bạn có thể tìm thấy tất cả các kết quả khớp của mẫu trong văn bản của mình. Python lưu tất cả các kết quả khớp dưới dạng chuỗi trong danh sách cho bạnKhi bạn sử dụng nhóm chụp, bạn có thể chỉ định phần nào của trận đấu mà bạn muốn giữ lại trong danh sách của mình bằng cách đặt phần đó trong ngoặc đơn
>>>
>>> "secret" not in raw_file_content
False
4Bằng cách đặt bí mật trong dấu ngoặc đơn, bạn đã xác định một nhóm chụp duy nhất. Hàm
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
96 trả về một danh sách các chuỗi khớp với nhóm chụp đó, miễn là có chính xác một nhóm chụp trong mẫu. Bằng cách thêm dấu ngoặc đơn xung quanh bí mật, bạn đã loại bỏ được dấu chấm câuGhi chú. Hãy nhớ rằng có bốn lần xuất hiện của chuỗi con
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
4 trong văn bản của bạn và bằng cách sử dụng >>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
61, bạn đã lọc ra hai lần xuất hiện cụ thể mà bạn khớp theo các điều kiện đặc biệtSử dụng
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
94 với các nhóm đối sánh là một cách hiệu quả để trích xuất các chuỗi con từ văn bản của bạn. Nhưng bạn chỉ nhận được một danh sách các chuỗi, điều đó có nghĩa là bạn đã mất các vị trí chỉ mục mà bạn có quyền truy cập khi sử dụng >>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
65Nếu bạn muốn giữ thông tin đó xung quanh, thì
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
61 có thể cung cấp cho bạn tất cả các kết quả phù hợp trong một trình vòng lặp>>>
>>> "secret" not in raw_file_content
False
5Khi bạn sử dụng
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
32 và chuyển cho nó một mẫu tìm kiếm và nội dung văn bản của bạn làm đối số, bạn có thể truy cập từng đối tượng >>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
67 có chứa chuỗi con, cũng như vị trí chỉ mục bắt đầu và kết thúc của nóBạn có thể nhận thấy rằng dấu chấm câu xuất hiện trong các kết quả này mặc dù bạn vẫn đang sử dụng nhóm chụp. Đó là bởi vì biểu diễn chuỗi của đối tượng
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
67 hiển thị toàn bộ kết quả khớp thay vì chỉ nhóm bắt đầu tiênNhưng đối tượng
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
67 là một nơi chứa thông tin mạnh mẽ và, giống như bạn đã thấy trước đó, bạn chỉ có thể chọn thông tin mà bạn cần>>>
>>> "secret" not in raw_file_content
False
6Bằng cách gọi
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
36 và chỉ định rằng bạn muốn nhóm chụp đầu tiên, bạn đã chọn từ bí mật không có dấu chấm câu từ mỗi chuỗi con phù hợpBạn có thể đi sâu vào chi tiết hơn với khớp chuỗi con khi bạn sử dụng biểu thức chính quy. Thay vì chỉ kiểm tra xem một chuỗi có chứa một chuỗi khác hay không, bạn có thể tìm kiếm các chuỗi con theo các điều kiện phức tạp
Ghi chú. Nếu bạn muốn tìm hiểu thêm về cách sử dụng các nhóm bắt giữ và soạn các mẫu biểu thức chính quy phức tạp hơn, thì bạn có thể tìm hiểu sâu hơn về các biểu thức chính quy trong Python
Sử dụng biểu thức chính quy với
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
61 là một cách tiếp cận tốt nếu bạn cần thông tin về các chuỗi con hoặc nếu bạn cần tiếp tục làm việc với chúng sau khi tìm thấy chúng trong văn bản. Nhưng nếu bạn đang làm việc với dữ liệu dạng bảng thì sao? Loại bỏ các quảng cáoTìm một chuỗi con trong cột DataFrame của gấu trúc
Nếu bạn làm việc với dữ liệu không đến từ tệp văn bản thuần túy hoặc từ đầu vào của người dùng, mà từ tệp CSV hoặc trang tính Excel, thì bạn có thể sử dụng phương pháp tương tự như đã thảo luận ở trên
Tuy nhiên, có một cách tốt hơn để xác định ô nào trong cột chứa chuỗi con. bạn sẽ sử dụng gấu trúc. Trong ví dụ này, bạn sẽ làm việc với tệp CSV chứa tên công ty và khẩu hiệu giả mạo. Bạn có thể download file bên dưới nếu muốn làm việc cùng
Tải xuống miễn phí. Nhấp vào đây để tải xuống mã mẫu mà bạn sẽ sử dụng để kiểm tra xem một chuỗi có chứa chuỗi con không
Khi bạn đang làm việc với dữ liệu dạng bảng trong Python, tốt nhất bạn nên tải nó vào pandas
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
38 trước tiên>>>
>>> "secret" not in raw_file_content
False
7Trong khối mã này, bạn đã tải tệp CSV chứa một nghìn hàng dữ liệu công ty giả mạo vào DataFrame của gấu trúc và kiểm tra năm hàng đầu tiên bằng cách sử dụng
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
39Ghi chú. Bạn sẽ cần tạo một môi trường ảo và cài đặt pandas để làm việc với thư viện
Sau khi bạn đã tải dữ liệu vào DataFrame, bạn có thể nhanh chóng truy vấn toàn bộ cột pandas để lọc các mục có chứa chuỗi con
>>>
>>> "secret" not in raw_file_content
False
8Bạn có thể sử dụng
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
70 trên cột gấu trúc và chuyển chuỗi con đó làm đối số để lọc các hàng chứa chuỗi conGhi chú. Toán tử lập chỉ mục [
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
71] và toán tử thuộc tính [>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
90] cung cấp các cách trực quan để lấy một cột hoặc lát của Khung dữ liệuTuy nhiên, nếu bạn đang làm việc với mã sản xuất liên quan đến hiệu suất, pandas khuyên bạn nên sử dụng các phương pháp truy cập dữ liệu được tối ưu hóa để lập chỉ mục và chọn dữ liệu
Khi bạn đang làm việc với
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
70 và bạn cần các tình huống đối sánh phức tạp hơn, bạn cũng có thể sử dụng các biểu thức chính quy. Bạn chỉ cần chuyển một mẫu tìm kiếm tuân thủ regex làm đối số chuỗi con>>>
>>> "secret" not in raw_file_content
False
9Trong đoạn mã này, bạn đã sử dụng cùng một mẫu mà bạn đã sử dụng trước đó để chỉ khớp các từ chứa bí mật nhưng sau đó tiếp tục với một hoặc nhiều ký tự từ [
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
74]. Chỉ một trong số các công ty trong bộ dữ liệu giả mạo này dường như hoạt động bí mậtBạn có thể viết bất kỳ mẫu biểu thức chính quy phức tạp nào và chuyển nó tới
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
70 để khắc từ cột pandas của bạn chỉ các hàng mà bạn cần cho phân tích của mìnhSự kết luận
Giống như một thợ săn kho báu bền bỉ, bạn đã tìm thấy từng
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
4, bất kể nó được cất giấu kỹ đến đâu. Trong quá trình này, bạn đã học được rằng cách tốt nhất để kiểm tra xem một chuỗi có chứa chuỗi con hay không trong Python là sử dụng toán tử thành viên >>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
0Bạn cũng đã học cách mô tả sử dụng hai phương thức chuỗi khác, thường bị lạm dụng để kiểm tra các chuỗi con
11 để đếm số lần xuất hiện của một chuỗi con trong một chuỗi>>> if "secret" in raw_file_content: .. print["Found!"] ... Found!
45 để lấy vị trí chỉ mục của phần đầu của chuỗi con>>> raw_file_content = """Hi there and welcome. .. This is a special hidden file with a SECRET secret. .. I don't want to tell you The Secret, .. but I do want to secretly tell you that I have one.""" >>> "secret" in raw_file_content True
Sau đó, bạn đã khám phá cách tìm chuỗi con theo các điều kiện nâng cao hơn với các biểu thức chính quy và một số hàm trong mô-đun
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
61 của PythonCuối cùng, bạn cũng đã học cách sử dụng phương pháp DataFrame
>>> if "secret" in raw_file_content:
.. print["Found!"]
...
Found!
70 để kiểm tra mục nhập nào trong DataFrame của gấu trúc chứa chuỗi conBây giờ bạn đã biết cách chọn cách tiếp cận thành ngữ nhất khi làm việc với các chuỗi con trong Python. Tiếp tục sử dụng phương pháp mô tả nhất cho công việc và bạn sẽ viết mã thú vị để đọc và nhanh chóng để người khác hiểu
Tải xuống miễn phí. Nhấp vào đây để tải xuống mã mẫu mà bạn sẽ sử dụng để kiểm tra xem một chuỗi có chứa chuỗi con không
Đánh dấu là đã hoàn thành
🐍 Thủ thuật Python 💌
Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python
Gửi cho tôi thủ thuật Python »
Giới thiệu về Martin Breuss
Martin thích tự động hóa, trò đùa ngớ ngẩn và rắn, tất cả đều phù hợp với cộng đồng Python. Anh ấy thích học hỏi và khám phá và cũng sẵn sàng nói về nó. Anh ấy viết và ghi nội dung cho Real Python và CodingNomads
» Thông tin thêm về MartinMỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là
Aldren
Geir Arne
Ian
kate
Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực
Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonista chuyên gia
Nâng cao kỹ năng Python của bạn »
Bậc thầy Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực
Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng các chuyên gia Pythonistas
Nâng cao kỹ năng Python của bạn »
Bạn nghĩ sao?
Đánh giá bài viết này
Tweet Chia sẻ Chia sẻ EmailBài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?
Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. Nhận các mẹo để đặt câu hỏi hay và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi