Python kiểm tra xem chuỗi có chứa chữ cái và số không
Cho dù bạn đang tạo tập lệnh xác minh cho đầu vào của người dùng, biểu mẫu đăng nhập yêu cầu người dùng đưa ký tự vào mật khẩu - kiểm tra xem chuỗi có chứa ký tự không phải là thao tác không phổ biến Show
Kiểm tra xem chuỗi có chứa số trong Python khôngCó nhiều cách để kiểm tra xem một ký tự có phải là một số hay không ( 2, 3, 4), mà bạn có thể kết hợp với vòng lặp for, để kiểm tra ít nhất một lần truy cập tích cực. Ngoài ra, bạn có thể sử dụng Biểu thức chính quy làm công cụ đối sánh mẫu chung, linh hoạt, mạnh mẽ và được thiết kế để áp dụng cho khối văn bản lớn. Cuối cùng - bạn luôn có thể 5 mỗi ký tự được đưa ra một câu lệnh có điều kiện và trả về 6 là 7 trong số đó dẫn đến 6Việc lựa chọn giữa những điều này nên xem xét hiệu quả của các phương pháp, mức độ chi tiết và kiểu mã hóa, cũng như các tác vụ ngược dòng hoặc xuôi dòng liên quan đến hoạt động Kiểm tra xem chuỗi có chứa số với ord()Hàm 2 nhận một ký tự và trả về giá trị ASCII của nóGiá trị ASCII của 0 là 48 và giá trị ASCII của 1 là 57. Bất kỳ số nào trong số này, theo phần mở rộng, sẽ có giá trị ASCII trong khoảng từ 48 đến 57. Bây giờ để kiểm tra xem chuỗi có bất kỳ số nào không, chúng tôi sẽ duyệt qua toàn bộ chuỗi đầu vào và kiểm tra giá trị ASCII của từng ký tự, nếu giá trị ASCII lớn hơn 47 và nhỏ hơn 58, có nghĩa đó là một số và chúng tôi sẽ trả về 6 1Kết quả này trong 2Kiểm tra xem chuỗi có chứa số với innumeric() khôngHàm 3 trả về 6 nếu chuỗi đầu vào chỉ chứa số, ngược lại, nó trả về 5
Kết quả này trong ________số 8Ghi chú. Hàm 3 sẽ không hoạt động như bạn mong đợi đối với số âm hoặc số thực. Nếu chúng ta chuyển một chuỗi chỉ có số âm hoặc số thực, nó sẽ trả về 5, bởi vì các ký tự 8 và 9 được liên kết với số âm và số thực thực sự là, không phải sốMặc dù vậy, vì các ký tự chỉ là các chuỗi có độ dài 1 trong Python - bạn có thể lặp qua các ký tự và sử dụng 3 để kiểm tra xem chúng có phải là số không 3Kiểm tra xem chuỗi có chứa số với isdigit()Hàm 4 kiểm tra xem tất cả các ký tự trong chuỗi có phải là chữ số không. Nếu có - nó trả về 6 và nếu không, nó trả về 5. Một lần nữa, vì các ký tự chỉ là các chuỗi có độ dài 1 trong Python - phương thức này có thể được sử dụng trong một vòng lặp cho mỗi ký tự 7Ghi chú. Phương thức 4 chỉ hoạt động theo cách tương tự như 3 và nếu bạn chuyển một chuỗi chứa số float hoặc số âm cho nó, thì 5 sẽ được trả về do các ký tự đặc biệt không phải là số. Tuy nhiên, ở cấp độ ký tự, nếu chỉ cần một giá trị 6 là đủ để xác định xem chuỗi có chứa số hay không - thì có thể áp dụngSự khác biệt giữa isnumeric() và isdigit()?Vậy, sự khác biệt giữa 3 và 4 là gì?
3 là phương pháp rộng nhất, trong khi 70 là phương pháp hẹp nhất giữa baKiểm tra xem chuỗi có chứa số với map() và any()Hàm 5 thực thi hàm được cung cấp cho từng thành phần của iterable được truyền trong hàm bản đồ. Mỗi phần tử của một iterable được truyền cho hàm dưới dạng tham số 3 79 được thực hiện cho mọi mục của 30. Điều này cho phép logic rất linh hoạt và mạnh mẽ, chỉ bị giới hạn bởi phạm vi mở rộng của 79 mà bạn gọi trên đầu vào. Phương thức này trả về một thể hiện 32, có thể dễ dàng biến thành các bộ sưu tập khác như danh sách hoặc tập hợp
7 trả về 6 nếu bất kỳ phần tử nào của iterable được truyền là 6, nếu không, nó trả về 5Xâu chuỗi hai thứ này lại với nhau - chúng ta có thể tạo một tập lệnh ngắn, cấp cao và trừu tượng hóa vòng lặp for Kết quả này trong 3Nếu chức năng của bạn là một lớp lót - không cần trích xuất nó dưới dạng một chức năng được đặt tên. Thay vào đó, bạn có thể viết một hàm lambda ẩn danh vì mục đích ngắn gọn Hãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó 4Điều này cũng dẫn đến 5Kiểm tra xem chuỗi có chứa số trong Python với biểu thức chính quy khôngCụm từ thông dụng là các mẫu tìm kiếm được thiết kế để khớp với văn bản đầu vào. Chúng linh hoạt và có bản chất của chúng - bạn có thể viết một số biểu thức tùy ý cho cùng một mẫu để tìm kiếm, cũng như bao gồm bất kỳ mẫu dễ hiểu nào mà bạn có thể nghĩ ra Mô-đun 38 của Python được sử dụng để viết, biên dịch và khớp văn bản với các biểu thức thông thường. Nó đưa ra nhiều phương thức khác nhau, chẳng hạn như 39 khớp với việc một chuỗi có bắt đầu bằng một mẫu hay không, 30 tìm lần xuất hiện đầu tiên của nhiều lần khớp trong một chuỗi và 31 kiểm tra tất cả các lần xuất hiệnGhi chú. Cả ba phương thức đều chấp nhận đối số 32 và 33 và chạy tìm kiếm 32 trong chuỗi 33Mẫu xác định một chữ số là 36 20Phương thức 30 trả về một đối tượng 38, chứa kết quả tìm được và chỉ số bắt đầu và kết thúc 21Đối tượng is có thể được đánh giá thành giá trị boolean dựa trên việc đó là đối tượng 38 hay 40. Kết quả này trong 22Không giống như phương thức 30, phương thức 31 trả về tất cả các lần xuất hiện của mẫu thay vì chỉ lần đầu tiên 23Kết quả này trong 22điểm chuẩnCòn hiệu suất thì sao? 25Kết quả này trong 26Nói chung, các cách tiếp cận vòng lặp for chạy trong cùng một khoảng thời gian, với ít chi phí từ các phương thức cụ thể. Lambda với 7 thực tế là chậm nhất (rất nhiều thao tác dư thừa, do chuyển đổi danh sách thành danh sách rồi giảm danh sách), trong khi Biểu thức chính quy có thời gian chạy nhanh nhất với phương sai xung quanh nó thấp nhất (chúng luôn nhanh)Tuy nhiên, trên các văn bản đầu vào dài hơn, độ phức tạp về thời gian của từng cách tiếp cận khác nhau được nhấn mạnh, đặc biệt tùy thuộc vào số lượng chữ số khớp (dù chữ số có phổ biến hay không) Chuỗi đầu tiên tạo ra một chuỗi ngẫu nhiên có số lượng chữ số và ký tự bằng nhau, trong khi chuỗi sau là chuỗi chỉ có ký tự có một chữ số duy nhất ở cuối (độ phức tạp về thời gian tồi tệ nhất) 27 28 29 0 1Với số lần truy cập thấp - Cụm từ thông dụng có hiệu suất cao nhất. Với nhiều lần truy cập, cách tiếp cận hàm lambda là hiệu quả nhất và nó duy trì độ phức tạp về thời gian bất kể đầu vào có nhiều lần truy cập hay một lần truy cập. Nhược điểm chính (tính toán dư thừa khi tỷ lệ trúng thấp) được biến thành điểm mạnh chính của nó vì tính dự phòng làm cho nó trở nên mạnh mẽ khi nhập liệu Phần kết luậnTrong hướng dẫn này, chúng ta đã xem xét nhiều cách để kiểm tra xem một chuỗi trong Python có chứa ít nhất một ký tự hay không. Chúng ta đã xem xét hàm 2, 3, 4 và 70, cũng như cách trừu tượng hóa logic này bằng lệnh gọi hàm lambda bằng cách sử dụng 5 và 7. Sau đó, chúng tôi đã khám phá Biểu thức chính quy và đánh giá các cách tiếp cận với đầu vào khác nhau
Làm cách nào để kiểm tra xem một chuỗi có chứa cả bảng chữ cái và số trong Python không?Có thể kiểm tra các chữ cái trong Chuỗi Python bằng cách sử dụng phương thức isalpha() và các số có thể được kiểm tra bằng phương thức isdigit() .
Làm cách nào để kiểm tra xem một chuỗi chỉ chứa bảng chữ cái và dấu cách trong Python?Phương pháp #1. Sử dụng all() + isspace() + isalpha()
. Trong phần này, chúng tôi so sánh chuỗi cho tất cả các phần tử chỉ là bảng chữ cái hoặc dấu cách. |