Làm thế nào để bạn tìm thấy một chữ số riêng lẻ trong python?
Khả năng hiểu danh sách cung cấp chức năng mạnh mẽ trong python để viết mã trong một dòng và đạt được kết quả mong muốn Show Chúng ta đã xem qua một ví dụ mã chứng minh việc tách các số bằng vòng lặp for. Bây giờ chúng ta sẽ viết lại chương trình tương tự bằng cách sử dụng các kỹ thuật hiểu và hiểu danh sách givenNumber = 987654321 charterList = [receivedDigit for receivedDigit in str(givenNumber)] print(charterList) Kết quả ['9', '8', '7', '6', '5', '4', '3', '2', '1'] Giải trình
Bây giờ chúng tôi đã nhận được một danh sách các ký tự riêng lẻ thay vì danh sách các số riêng lẻ được mong đợi là. Chính xác? Chỉ cần chuyển đổi ký tự thành int trong phạm vi hiểu danh sách. Đây là mã trình diễn dễ đọc givenNumber = 987654321 charterList = [int(receivedDigit) for receivedDigit in str(givenNumber)] print(charterList) Ở đây int(receivedDigit) chuyển đổi từng ký tự qua phép lặp và đầu ra cuối cùng trở thành danh sách các số riêng lẻ như mong đợi như bên dưới Trong khi lập trình, đôi khi chúng ta chỉ yêu cầu một loại dữ liệu nào đó và cần loại bỏ các loại dữ liệu khác. Loại sự cố này khá phổ biến trong miền Khoa học dữ liệu và vì Khoa học dữ liệu sử dụng Python trên toàn thế giới nên điều quan trọng là phải biết cách trích xuất các phần tử cụ thể. Bài viết này thảo luận về một số cách nhất định trong đó chỉ có thể trích xuất chữ số. Hãy cùng thảo luận Phương pháp số 1. Sử dụng phép nối() + isdigit() + bộ lọc() Nhiệm vụ này có thể được thực hiện bằng cách sử dụng kết hợp các chức năng trên. Hàm filter lọc các chữ số được phát hiện bởi hàm isdigit và hàm nối thực hiện nhiệm vụ tái cấu trúc hàm nối. Python3The original string : g1eeks4geeks5 The digits string is : 1453 The original string : g1eeks4geeks5 The digits string is : 1454 The original string : g1eeks4geeks5 The digits string is : 1455
The original string : g1eeks4geeks5 The digits string is : 1456 The original string : g1eeks4geeks5 The digits string is : 1457____30 The original string : g1eeks4geeks5 The digits string is : 1451
The original string : g1eeks4geeks5 The digits string is : 1452 The original string : g1eeks4geeks5 The digits string is : 1453______34 The original string : g1eeks4geeks5 The digits string is : 1455 The original string : g1eeks4geeks5 The digits string is : 1456
The original string : g1eeks4geeks5 The digits string is : 1455 The original string : g1eeks4geeks5 The digits string is : 1454 The original string : g1eeks4geeks5 The digits string is : 1459 The original string : g1eeks4geeks5 The digits string is : 1450 ['9', '8', '7', '6', '5', '4', '3', '2', '1']21 ['9', '8', '7', '6', '5', '4', '3', '2', '1']22 ['9', '8', '7', '6', '5', '4', '3', '2', '1']23 ['9', '8', '7', '6', '5', '4', '3', '2', '1']24 ['9', '8', '7', '6', '5', '4', '3', '2', '1']25 ['9', '8', '7', '6', '5', '4', '3', '2', '1']26 ['9', '8', '7', '6', '5', '4', '3', '2', '1']27 The original string : g1eeks4geeks5 The digits string is : 1453______129 givenNumber = 987654321 charterList = [int(receivedDigit) for receivedDigit in str(givenNumber)] print(charterList)10 givenNumber = 987654321 charterList = [int(receivedDigit) for receivedDigit in str(givenNumber)] print(charterList)11 The original string : g1eeks4geeks5 The digits string is : 1455 givenNumber = 987654321 charterList = [int(receivedDigit) for receivedDigit in str(givenNumber)] print(charterList)13 givenNumber = 987654321 charterList = [int(receivedDigit) for receivedDigit in str(givenNumber)] print(charterList)14 đầu ra. The original string : g1eeks4geeks5 The digits string is : 145
Phương pháp #2. Sử dụng lại Các biểu thức chính quy cũng có thể được sử dụng để thực hiện tác vụ cụ thể này. Chúng tôi có thể xác định yêu cầu loại chữ số, sử dụng “\D” và chỉ các chữ số được trích xuất từ chuỗi. Python3The original string : g1eeks4geeks5 The digits string is : 1453 The original string : g1eeks4geeks5 The digits string is : 1454 givenNumber = 987654321 charterList = [int(receivedDigit) for receivedDigit in str(givenNumber)] print(charterList)17 givenNumber = 987654321 charterList = [int(receivedDigit) for receivedDigit in str(givenNumber)] print(charterList)18 givenNumber = 987654321 charterList = [int(receivedDigit) for receivedDigit in str(givenNumber)] print(charterList)19
The original string : g1eeks4geeks5 The digits string is : 1456 The original string : g1eeks4geeks5 The digits string is : 1457____30 The original string : g1eeks4geeks5 The digits string is : 1451
The original string : g1eeks4geeks5 The digits string is : 1452 The original string : g1eeks4geeks5 The digits string is : 1453______34 The original string : g1eeks4geeks5 The digits string is : 1455 The original string : g1eeks4geeks5 The digits string is : 1456
givenNumber = 987654321 charterList = [int(receivedDigit) for receivedDigit in str(givenNumber)] print(charterList)17 The original string : g1eeks4geeks5 The digits string is : 1454 The original string : g1eeks4geeks5 The digits string is : 1459 The original string : g1eeks4geeks5 The digits string is : 1450 The original string : g1eeks4geeks5 The digits string is : 14533 ['9', '8', '7', '6', '5', '4', '3', '2', '1']26 ['9', '8', '7', '6', '5', '4', '3', '2', '1']27 The original string : g1eeks4geeks5 The digits string is : 1453______129 givenNumber = 987654321 charterList = [int(receivedDigit) for receivedDigit in str(givenNumber)] print(charterList)10 givenNumber = 987654321 charterList = [int(receivedDigit) for receivedDigit in str(givenNumber)] print(charterList)11 The original string : g1eeks4geeks5 The digits string is : 1455 givenNumber = 987654321 charterList = [int(receivedDigit) for receivedDigit in str(givenNumber)] print(charterList)13 givenNumber = 987654321 charterList = [int(receivedDigit) for receivedDigit in str(givenNumber)] print(charterList)14 đầu ra. The original string : g1eeks4geeks5 The digits string is : 145
Phương pháp 3. Sử dụng vòng lặp Nhiệm vụ này được thực hiện bằng cách sử dụng vòng lặp for Python3The original string : g1eeks4geeks5 The digits string is : 1453 The original string : g1eeks4geeks5 The digits string is : 1454 The original string : g1eeks4geeks5 The digits string is : 14545 The original string : g1eeks4geeks5 The digits string is : 1450____747 The original string : g1eeks4geeks5 The digits string is : 14548 The original string : g1eeks4geeks5 The digits string is : 14549 The original string : g1eeks4geeks5 The digits string is : 14550 The original string : g1eeks4geeks5 The digits string is : 14551 The original string : g1eeks4geeks5 The digits string is : 14552 The original string : g1eeks4geeks5 The digits string is : 14553 The original string : g1eeks4geeks5 The digits string is : 14554 The original string : g1eeks4geeks5 The digits string is : 14553 The original string : g1eeks4geeks5 The digits string is : 14556 The original string : g1eeks4geeks5 The digits string is : 14557 ['9', '8', '7', '6', '5', '4', '3', '2', '1']26 The original string : g1eeks4geeks5 The digits string is : 1453____760 The original string : g1eeks4geeks5 The digits string is : 1450 The original string : g1eeks4geeks5 The digits string is : 14562 ['9', '8', '7', '6', '5', '4', '3', '2', '1']2 Phương pháp 4. Sử dụng đệ quy Python3The original string : g1eeks4geeks5 The digits string is : 14563 The original string : g1eeks4geeks5 The digits string is : 14564 The original string : g1eeks4geeks5 The digits string is : 14565
The original string : g1eeks4geeks5 The digits string is : 14566 The original string : g1eeks4geeks5 The digits string is : 14567 The original string : g1eeks4geeks5 The digits string is : 14568 The original string : g1eeks4geeks5 The digits string is : 1450 The original string : g1eeks4geeks5 The digits string is : 14570 The original string : g1eeks4geeks5 The digits string is : 14571 ['9', '8', '7', '6', '5', '4', '3', '2', '1']26 The original string : g1eeks4geeks5 The digits string is : 14573 ['9', '8', '7', '6', '5', '4', '3', '2', '1']26 The original string : g1eeks4geeks5 The digits string is : 14556 The original string : g1eeks4geeks5 The digits string is : 14550 The original string : g1eeks4geeks5 The digits string is : 1450 The original string : g1eeks4geeks5 The digits string is : 1450 The original string : g1eeks4geeks5 The digits string is : 14579 The original string : g1eeks4geeks5 The digits string is : 14500 The original string : g1eeks4geeks5 The digits string is : 14501 The original string : g1eeks4geeks5 The digits string is : 14502 ['9', '8', '7', '6', '5', '4', '3', '2', '1']26 The original string : g1eeks4geeks5 The digits string is : 14504 ['9', '8', '7', '6', '5', '4', '3', '2', '1']26 The original string : g1eeks4geeks5 The digits string is : 14556 The original string : g1eeks4geeks5 The digits string is : 14546 The original string : g1eeks4geeks5 The digits string is : 14547 The original string : g1eeks4geeks5 The digits string is : 14551 The original string : g1eeks4geeks5 The digits string is : 14549 ['9', '8', '7', '6', '5', '4', '3', '2', '1']23 The original string : g1eeks4geeks5 The digits string is : 14551 The original string : g1eeks4geeks5 The digits string is : 14552 The original string : g1eeks4geeks5 The digits string is : 14553 The original string : g1eeks4geeks5 The digits string is : 14571 |