Hướng dẫn is alphanumeric with space python? - là chữ và số với trăn không gian?
Tôi đã từng gặp vấn đề chính xác này, sự khác biệt duy nhất là tôi không thể nhập bất cứ thứ gì hoặc sử dụng Regex. Show
Để giải quyết vấn đề của tôi, tôi đã tạo một danh sách chứa tất cả các giá trị tôi muốn giữ:
Sau đó, tôi đã tạo một hàm sẽ lặp qua từng mục trong chuỗi và nếu nó không có trong danh sách 0, nó sẽ xóa (thay thế) nó khỏi chuỗi:
Ví dụ: mã sau:
Nên đầu ra:
Chắc chắn đây không phải là cách tốt nhất để làm điều này nhưng với hoàn cảnh, đó là một cách nhanh chóng và dễ dàng để hoàn thành công việc. Lưu ý: Bạn có thể thay thế các mục trong danh sách 0 list by changing 2 to 3.Lưu ý: Tôi không được phép sử dụng hằng số chuỗi vì gói 4 package has to be imported to use them.Chúc may mắn. Xem thảo luận Cải thiện bài viết Lưu bài viết Xem thảo luận Cải thiện bài viết Lưu bài viết Đọc Bàn luận Python3Đôi khi, trong khi kiểm tra độ tin cậy của chuỗi là một phần chỉ chứa bảng chữ cái, một ngoại lệ của không gian phải được đề cập rõ ràng và trở thành một vấn đề. Điều này có thể xảy ra trong các miền liên quan đến dữ liệu. Hãy thảo luận về những cách nhất định trong đó nhiệm vụ này có thể được thực hiện. Phương thức số 1: Sử dụng tất cả () + ISSPACE () + isalpha () & nbsp; Đây là một trong những cách mà nhiệm vụ này có thể được thực hiện. Trong đó, chúng tôi so sánh chuỗi cho tất cả các yếu tố chỉ là bảng chữ cái hoặc không gian. 5 6 7 8 9 0 1 2 3 4
The original string is : geeksforgeeks is best for geeks Does String contain only space and alphabets : True
Python3Đôi khi, trong khi kiểm tra độ tin cậy của chuỗi là một phần chỉ chứa bảng chữ cái, một ngoại lệ của không gian phải được đề cập rõ ràng và trở thành một vấn đề. Điều này có thể xảy ra trong các miền liên quan đến dữ liệu. Hãy thảo luận về những cách nhất định trong đó nhiệm vụ này có thể được thực hiện. Phương thức số 1: Sử dụng tất cả () + ISSPACE () + isalpha () & nbsp; Đây là một trong những cách mà nhiệm vụ này có thể được thực hiện. Trong đó, chúng tôi so sánh chuỗi cho tất cả các yếu tố chỉ là bảng chữ cái hoặc không gian. 5 6 7 8 9 0 1 2 3 4
The original string is : geeksforgeeks is best for geeks Does String contain only space and alphabets : True 0 1The original string is : geeksforgeeks is best for geeks Does String contain only space and alphabets : True4 3 The original string is : geeksforgeeks is best for geeks Does String contain only space and alphabets : True6 The original string is : geeksforgeeks is best for geeks Does String contain only space and alphabets : True7 Đầu ra: & nbsp;O(n) Phương pháp số 1: Sử dụng Regex & NBSP; vấn đề này cũng có thể được giải quyết bằng cách sử dụng Regex để chỉ bao gồm không gian và bảng chữ cái trong một chuỗi.O(n) Tôi có một lời thú nhận để thực hiện: Tôi là một người gắn bó với tên tệp. Tôi hết lòng tin rằng tất cả các tên tệp và đường dẫn nên là 0 hoặc 1. Không gian, viết hoa và các nhân vật không phải là vô sinh khiến tôi phát điên.Nỗi ám ảnh của tôi xuất phát từ những năm tôi nhảy qua lại giữa Linux (lập trình, máy chủ), Windows (CAD) và MacOS (máy tính xách tay cá nhân), trong đó mỗi hệ thống có các tiêu chuẩn tệp thực tế khác nhau. Do đó, cuối cùng tôi đã hội tụ về tên tệp đơn giản và Draconia để đảm bảo dễ dàng lấy dữ liệu khi tôi cần tự động hóa. Bây giờ, tôi hiểu có những lúc mức độ cứng nhắc này không hoàn toàn có ý nghĩa. Một ví dụ là trong kỹ thuật cơ học khi làm việc với hệ thống PDM (và các bên liên quan không phát triển). Thực tiễn phổ biến là có tên tệp của bạn là 2 (ví dụ: 3). Có, có không gian, nhưng miễn là lược đồ được thực thi, cơ sở dữ liệu vẫn sẽ dễ dàng bị phân tích máy.Nếu chúng ta mở rộng dòng suy nghĩ này từ tên tệp sang một đường dẫn tổng quát hoặc vị trí tài nguyên của Hồi giáo (ví dụ: URL, tiêu đề cột dữ liệu, nhãn dữ liệu), các lược đồ nghiêm ngặt và nhất quán là nhập, như ma quỷ trong các chi tiết. Và các nhân vật không phải là người vô sinh là xấu xa. Chúng chỉ gây đau đầu cho tất cả mọi người. Vệ sinh tất cả các chuỗiXác thực và vệ sinh chuỗi đảm bảo rằng một chuỗi đáp ứng một tập hợp các tiêu chí (xác thực) hoặc sửa đổi nó để phù hợp với lược đồ (vệ sinh). Như đã thảo luận ở trên, có rất nhiều tình huống quan trọng trong đó các chuỗi đến (ví dụ: nhãn dữ liệu, đường dẫn, tên tệp) có thể không phù hợp với tiêu chuẩn và hoạt động bất ngờ. Như đã thảo luận trước đây trong bài phân tích dữ liệu nhiệt độ và độ ẩm, các bước 4 và 5 của quy trình làm việc ETL thường áp dụng một số việc làm sạch dữ liệu. Chạy các ký tự không phải là một bước đơn giản và hữu ích cho nhiều ứng dụng xử lý dữ liệu.Như đã thấy trong bài viết trước của chúng tôi, bộ ghi dữ liệu đã cố gắng để được ưa thích và sử dụng ký hiệu (ác) ( 6) và dấu phần trăm ( 7) cho các tiêu đề cột nhiệt độ và độ ẩm tương ứng. Thật không may, điều này không phải là hiếm, và trong khi Excel phân tích các chuỗi này một cách bình thường, chúng ta có thể luôn luôn đảm bảo cách các hệ thống hoặc chương trình khác nhau sẽ phản ứng. Ví dụ, trong latex, dấu hiệu phần trăm là nhân vật đặc biệt cho các bình luận, và do đó cần phải được thoát ra ( 8) khác mà bạn sẽ có một ngày tồi tệ.Vì vậy, hãy để một cái nhìn về cách làm sạch các chuỗi hiệu quả trong Python. Cho một chuỗi xấu xí:
Chúng tôi có ba lựa chọn: hai cách Pythonic và một cách quá mức cần thiết. Hãy cùng giả sử rằng chúng tôi muốn giữ các ký tự khoảng trắng. Làm sạch Pythonic: Danh sách hiểu biếtMột cách tiếp cận không được tối ưu hóa, nhưng rõ ràng và dễ đọc là chỉ cần sử dụng danh sách hiểu để loại bỏ một chuỗi các ký tự không phải là đồngumeric. Trong Python, một đối tượng The original string is : geeksforgeeks is best for geeks Does String contain only space and alphabets : True6 là một loại trình tự, đó là lý do tại sao các phương thức hiểu danh sách hoạt động. Chúng tôi sẽ sử dụng 0 tích hợp để kiểm tra các ký tự chữ và số và 1 để kiểm tra khoảng trắng.
Làm sạch Pythonic: Bộ lọcCách tiếp cận rõ ràng thứ hai là sử dụng hàm 2 tích hợp để lọc ra các ký tự không tuân thủ. Đây là một chức năng thú vị mà hữu ích trong một loạt các kịch bản, đặc biệt là khi kết hợp với các chức năng Lambda.Hàm 2 khá đơn giản: nó có một hàm trả về 0 và một điều không thể điều chỉnh được. Đối với mỗi yếu tố của có thể lặp lại, hàm đã cho trả về 5 hoặc 6. Chỉ các yếu tố trả lại 5 được giữ.
Làm sạch quá mức: RegexCách tiếp cận cuối cùng của chúng tôi là sử dụng các biểu thức chính quy (regex). Regex thực sự mạnh mẽ và có thể được sử dụng trong nhiều tình huống và trên tất cả các ngôn ngữ lập trình. Mặc dù nó có một đường cong học tập tương đối khó khăn, nhưng nó chắc chắn là thứ mà hầu hết các nhà phát triển và kỹ sư nên thử hiểu và làm quen. Tuy nhiên, theo ý kiến khiêm tốn của tôi, tùy thuộc vào bối cảnh, nó quá mức cần thiết. Vấn đề với Regex là nó quá mạnh mẽ và quá linh hoạt. Các phương pháp pythonic được hiển thị ở trên rất dễ đọc, dễ gỡ lỗi và dễ hiểu phạm vi của chúng. Regex yêu cầu nhà phát triển kiểm tra biểu thức (trừ khi bạn là một loại phù thủy Regex) và kiểm tra các trường hợp các góc. Mặc dù ví dụ bài đăng này khá tầm thường, nhưng không phải tất cả các kịch bản sẽ được tha thứ. Thành phần cốt lõi của phương pháp này là mẫu Regex. Trong ví dụ này, chúng tôi sẽ sử dụng 8. Như được giải thích bởi một trang web kiểm tra regex, mẫu này bao gồm các yếu tố sau:
1
Màn biểu diễnNhưng Nicholas! Tôi không quan tâm đến khả năng đọc; Tôi chỉ quan tâm đến hiệu suất tối ưu hóa! Chà, hãy để một cái nhìn. Như được hiển thị dưới đây, tôi đã hợp nhất ba cách tiếp cận thành các chức năng nhỏ để kiểm tra hiệu suất. Tôi cũng sẽ sử dụng một chuỗi Lorem Ipsum (Lipsum) rất dài để kiểm tra hiệu suất, để không có kết quả sai lệch từ văn bản ngắn. Các bộ lọc sẽ tước thời gian, dấu phẩy và dấu câu khác từ văn bản Lipsum. Chuỗi này nên dài hơn bất kỳ URL, tiêu đề cột dữ liệu, tên tệp hoặc nhãn dữ liệu khác sẽ được vệ sinh trong bối cảnh kỹ thuật. 3Sử dụng lệnh Jupyter Magic tích hợp 05, chúng ta có thể xác thực hiệu suất của từng phương pháp: 4 5 6 7 8 9Vì vậy, trong khi có vẻ như phương pháp Regex về mặt kỹ thuật là người chiến thắng, các phương pháp Pythonic đủ gần. Khả năng đọc là quan trọng hơn (rất) tối ưu hóa hiệu suất nhỏ. Không gian có phải là một con trăn chữ và số không?Phương thức chuỗi python isalnum () Phương thức isalnum () trả về true nếu tất cả các ký tự là chữ và số, có nghĩa là chữ cái bảng chữ cái (a-z) và số (0-9). Ví dụ về các ký tự không phải là chữ và số: (không gian)!not alphanumeric: (space)!
Không gian có tính là chữ và số không?Theo định nghĩa, các ký tự chữ và số chỉ bao gồm các chữ cái A đến Z và các chữ số 0 đến 9. Không gian và dấu gạch dưới thường được coi là ký tự dấu câu, vì vậy không, chúng không nên được phép.no, they shouldn't be allowed.
Làm cách nào để kiểm tra xem một chuỗi có chứa một khoảng trống trong Python không?Phương thức Python String ISSPACE () trả về True True nếu tất cả các ký tự trong chuỗi là ký tự khoảng trắng, nếu không, nó sẽ trả về Sai False.Hàm này được sử dụng để kiểm tra xem đối số có chứa tất cả các ký tự khoảng trắng không, chẳng hạn như: '' - không gian. returns “True” if all characters in the string are whitespace characters, Otherwise, It returns “False”. This function is used to check if the argument contains all whitespace characters, such as: ' ' – Space.
Làm cách nào để kiểm tra xem một chuỗi là Python chữ và số?Chuỗi python isalnum () hàm trả về true nếu nó chỉ được làm bằng các ký tự chữ và số.Một nhân vật là chữ và số nếu đó là alpha hoặc một số.Nếu chuỗi trống, thì isalnum () trả về false.. A character is alphanumeric if it's either an alpha or a number. If the string is empty, then isalnum() returns False . |