Bắt đầu bằng cách suy nghĩ về cách bạn sẽ thực hiện thủ công. bạn sẽ tìm phần đầu của một số, sau đó xử lý từng chữ số cho đến khi bạn tìm thấy phần cuối, sau đó quay lại tìm phần đầu của một số. Khi bạn đi đến cuối cùng, bạn sẽ quyết định có nên giữ lại số hay không nếu nó có số chín. Vì vậy, hãy nghĩ về điều đó và cách bạn có thể tự động hóa nó Show
Nếu bạn đang gặp vấn đề khi bắt đầu, thì điều này có thể giúp ích. Cách viết mã để giải quyết vấn đề, Hướng dẫn cho người mới bắt đầu[^] Thêm giải pháp của bạn ở đâyB I U S small BIG code 9 < > & link [^] encode untab case indent outdentXem trước 0thành viên hiện tạihoặc tham gia với chúng tôiTải xuống, Bình chọn, Nhận xét, Xuất bản Email của bạnEmail này đang được sử dụng. Bạn có cần mật khẩu của bạn? Mật khẩu tùy chọnKhi trả lời câu hỏi, vui lòng.
Nội dung này, cùng với bất kỳ tệp và mã nguồn liên quan nào, được cấp phép theo Giấy phép Mở Dự án Code (CPOL) Python cho phép bạn chuyển đổi chuỗi, số nguyên và số float thay thế cho nhau theo một số cách khác nhau. Cách đơn giản nhất để thực hiện việc này là sử dụng các hàm cơ bản 6, 7 và 8. Ngoài ra, còn có một số cách khác, chẳng hạn như hàm 9. Chỉ cần lưu ý rằng các hàm 7, 8 và 6 có những giới hạn của chúng và có thể đưa ra các ngoại lệ nếu chuỗi đầu vào không được định dạng chính xác như chúng mong đợi Để lấy danh sách tất cả các số trong Chuỗi, hãy sử dụng biểu thức chính quy '[0-9]+' với re. phương thức findall(). [0-9] đại diện cho một biểu thức chính quy để khớp với một chữ số trong chuỗi. [0-9]+ đại diện cho các chuỗi chữ số liên tục có độ dài bất kỳ
trong đó str là chuỗi mà chúng ta cần tìm các số. lại. findall() trả về danh sách các chuỗi khớp với biểu thức chính quy ví dụ 1. Lấy danh sách tất cả các số trong ChuỗiTrong ví dụ sau, chúng ta sẽ lấy một chuỗi, 0, và tìm tất cả các số, 1, có trong chuỗiChương trình Python Chạyđầu ra
ví dụ 2. Lấy danh sách tất cả các chữ số liên tục trong ChuỗiTrong ví dụ sau, chúng tôi sẽ lấy một chuỗi, 2 và tìm tất cả các số, 3, có trong chuỗiChương trình Python 0Chạyđầu ra 1Tóm lượcTrong hướng dẫn về Ví dụ Python này, chúng ta đã học cách lấy tất cả các số tạo thành một chuỗi dưới dạng danh sách, sử dụng Biểu thức chính quy Python, với sự trợ giúp của các chương trình ví dụ Trích xuất các chữ số hoặc số từ một chuỗi nhất định có thể xuất hiện khá thường xuyên trong hành trình mã hóa của bạn. Cho dù bạn đang tự động hóa tập lệnh trong python và bạn muốn trích xuất một số số nhất định từ tệp CSV hay bạn là nhà khoa học dữ liệu và bạn cần tách các chữ số và số liệu phức tạp khỏi các mẫu đã cho hoặc bạn là người đam mê trăn muốn tìm hiểu thêm về . Đã nói rằng, chúng ta hãy đi sâu vào câu hỏi quan trọng về sứ mệnh của mình Vấn đề. Đưa ra một chuỗi; Ví dụ. Giả sử rằng bạn đã được cung cấp một chuỗi và bạn muốn trích xuất tất cả các số từ chuỗi như đã cho trong ví dụ sau Cho trước là chuỗi sau 2Đây là đầu ra mong muốn của bạn 3Hãy để chúng tôi thảo luận về các phương pháp mà chúng tôi có thể sử dụng để trích xuất các số từ chuỗi đã cho Phương pháp 1. Sử dụng mô-đun RegexCách tiếp cận hiệu quả nhất để giải quyết vấn đề của chúng ta là tận dụng sức mạnh của mô-đun 37. Bạn có thể dễ dàng sử dụng Biểu thức chính quy (_______138) để kiểm tra hoặc xác minh xem một chuỗi đã cho có chứa một mẫu được chỉ định hay không (có thể là một chữ số hoặc ký tự đặc biệt hoặc bất kỳ mẫu nào khác)Do đó, để giải quyết vấn đề của chúng tôi, chúng tôi phải nhập mô-đun regex đã có trong thư viện chuẩn của Python và sau đó với sự trợ giúp của hàm 39, chúng tôi có thể trích xuất các số từ chuỗi đã cho◈ 39 là một hàm regex dễ sử dụng trả về một danh sách chứa tất cả các kết quả khớp. Để tìm hiểu thêm về 39, hãy xem hướng dẫn blog của chúng tôi tại đâyChúng ta hãy xem đoạn mã sau để hiểu cách chúng ta có thể sử dụng mô-đun 37 để giải quyết vấn đề của mình 0đầu ra 1Phương pháp 2. Tách và nối các số vào danh sách bằng hàm split() và append()Một cách giải quyết khác cho vấn đề của chúng ta là tách chuỗi đã cho bằng cách sử dụng hàm 32, sau đó trích xuất các số bằng phương thức 04 tích hợp, sau đó nối các số đã trích xuất vào danh sáchGhi chú
Bây giờ chúng ta đã có các công cụ cần thiết để giải quyết vấn đề của mình dựa trên khái niệm trên, chúng ta hãy đi sâu vào mã để xem nó hoạt động như thế nào 6đầu ra 1Phương pháp 3. Sử dụng hàm isdigit() trong việc hiểu danh sáchMột cách tiếp cận khác để giải quyết vấn đề của chúng ta là sử dụng hàm có sẵn 34 để trích xuất các chữ số từ chuỗi và sau đó lưu trữ chúng trong danh sách bằng cách sử dụng khả năng hiểu danh sách. Hàm 34 được sử dụng để kiểm tra xem một chuỗi đã cho có chứa các chữ số không. Do đó, nếu nó tìm thấy một ký tự là một chữ số thì nó trả về True, ngược lại, nó trả về FalseChúng ta hãy xem đoạn mã dưới đây để xem khái niệm trên hoạt động như thế nào 0đầu ra 1☢ Cảnh báo. Kỹ thuật này phù hợp nhất để chỉ trích xuất các số nguyên dương. Nó sẽ không hoạt động đối với số nguyên âm, số float hoặc số thập lục phân Phương pháp 4. Sử dụng số từ thư viện chuỗiĐây là một thủ thuật nhanh nếu bạn muốn tránh mất thời gian gõ mã rõ ràng để trích xuất các số từ một chuỗi. Bạn có thể nhập một thư viện có tên là 09 và sau đó sử dụng thư viện đó để trích xuất các số từ một chuỗi đã cho. Nó chứa một số quy tắc regex với phạm vi bao phủ toàn diện và có thể là một công cụ rất hữu ích cho các nhà nghiên cứu NLPVì thư viện Numbers from String không phải là một phần của thư viện Python tiêu chuẩn nên bạn phải cài đặt nó trước khi có thể sử dụng nó. Sử dụng lệnh sau để cài đặt thư viện hữu ích này 3Chương trình sau minh họa việc sử dụng 09 5đầu ra 1Phần kết luậnDo đó, từ các cuộc thảo luận ở trên, chúng tôi thấy rằng có rất nhiều cách để trích xuất một số từ một chuỗi đã cho trong python. Mặc dù vậy, sở thích cá nhân của tôi chắc chắn sẽ là mô-đun regex. Bạn có thể lập luận rằng việc sử dụng các phương thức khác như hàm 34 và 32 sẽ cung cấp mã đơn giản hơn, dễ đọc hơn và nhanh hơn. Tuy nhiên, như đã đề cập trước đó, nó không trả về các số âm (liên quan đến phương thức 2) và cũng không hoạt động đối với các số float không có khoảng cách giữa chúng và các ký tự khác như '25. 50k’ (tham khảo cách 2). Hơn nữa, tốc độ là một số liệu không liên quan khi phân tích nhật ký. Bây giờ bạn đã hiểu tại sao regex là sở thích cá nhân của tôi trong danh sách các giải pháp nàyTrong trường hợp bạn không ủng hộ thư viện re cho lắm, đặc biệt là vì bạn cảm thấy khó nắm vững khái niệm này (giống như tôi lúc đầu), đây là HƯỚNG DẪN để bạn trở thành bậc thầy về biểu thức chính quy. ? Tôi hy vọng bạn thấy bài viết này hữu ích và thêm một số giá trị cho hành trình viết mã của bạn. Hãy theo dõi để biết thêm nhiều điều thú vị trong tương lai Đi đâu từ đây?Đủ lý thuyết. Hãy thực hành một số Các lập trình viên được trả sáu con số trở lên vì họ có thể giải quyết vấn đề hiệu quả hơn bằng cách sử dụng trí thông minh máy móc và tự động hóa Để trở nên thành công hơn trong việc viết mã, hãy giải quyết nhiều vấn đề thực tế hơn cho người thực. Đó là cách bạn trau dồi những kỹ năng bạn thực sự cần trong thực tế. Rốt cuộc, việc sử dụng lý thuyết học tập mà không ai cần là gì? Bạn xây dựng các kỹ năng mã hóa có giá trị cao bằng cách làm việc trên các dự án mã hóa thực tế Bạn có muốn ngừng học với các dự án đồ chơi và tập trung vào các dự án mã thực tế giúp bạn kiếm tiền và giải quyết các vấn đề thực sự cho mọi người không? 🚀 Nếu câu trả lời của bạn là CÓ. , cân nhắc trở thành nhà phát triển Python tự do. Đó là cách tốt nhất để tiếp cận nhiệm vụ cải thiện kỹ năng Python của bạn—ngay cả khi bạn là người mới hoàn toàn Nếu bạn chỉ muốn tìm hiểu về cơ hội làm việc tự do, vui lòng xem hội thảo trên web miễn phí của tôi “Cách xây dựng kỹ năng Python có thu nhập cao của bạn” và tìm hiểu cách tôi phát triển công việc viết mã của mình trực tuyến cũng như cách bạn có thể làm được—từ sự thoải mái của bạn Tham gia hội thảo trên web miễn phí ngay bây giờ Shubham Sayon Tôi là một người tạo nội dung và Blogger Python chuyên nghiệp. Tôi đã xuất bản nhiều bài báo và tạo các khóa học trong một khoảng thời gian. Hiện tại tôi đang làm việc với tư cách là một freelancer toàn thời gian và tôi có kinh nghiệm trong các lĩnh vực như Python, AWS, DevOps và Networking |