Số nguyên cắt Python
Nếu bạn có một chuỗi chứa các số và bạn muốn lấy các số đó ra, bạn có thể sử dụng các hàm có sẵn trong Python int(), isdigit() để trích xuất các giá trị số nguyên từ chuỗi. Trong bài đăng này, chúng tôi sẽ chỉ cho bạn nhiều phương pháp để làm điều đó Show đầu ra
Giải pháp 1. Sử dụng split(), isdigit() và hiểu Danh sáchĐưa ra một chuỗi, nhiệm vụ là chỉ trích xuất các số nguyên từ chuỗi và in chúng. Điều này có thể được thực hiện bằng cách sử dụng phương thức split() và phương thức isdigit(). Phương thức split() trả về một danh sách các chuỗi con được phân tách bằng một dấu phân cách nhất định. Phương thức isdigit() trả về True nếu tất cả các ký tự trong chuỗi là chữ số và có ít nhất một ký tự, ngược lại là False Khả năng hiểu danh sách có thể được sử dụng để lặp lại danh sách được trả về bởi phương thức split() và phương thức isdigit() để kiểm tra xem mỗi chuỗi con có phải là một chữ số hay không. Nếu nó là một chữ số, thì nó có thể được thêm vào danh sách. Cuối cùng, danh sách các số nguyên có thể được in Mã ví dụ 1
đầu ra
Đoạn mã trên đặt biến my_str thành một chuỗi chứa số và từ. Sau đó, nó sử dụng khả năng hiểu danh sách để tạo một danh sách mới, kết quả, chỉ chứa các số từ my_str, được chuyển đổi thành số nguyên. Cuối cùng, nó in nội dung của kết quả Mã ví dụ 2. không sử dụng split() - Điều này có thể hữu ích khi bạn không có khoảng trắng giữa số và từ
đầu ra
Giải pháp 2. Sử dụng vòng lặp ForChúng ta cũng có thể sử dụng vòng lặp Python For để lặp qua các từ và ký tự của chuỗi và có thể trích xuất các giá trị nguyên từ nó. Dưới đây là một số ví dụ mã sẽ giúp bạn hiểu nó Ví dụ 1. Sử dụng vòng lặp for và split
đầu ra
ví dụ 2. Không sử dụng hàm split()
đầu ra ________số 8ví dụ 3
đầu ra
Giải pháp 3. Sử dụng hàm findall() của mô-đun regex reMô-đun re trong python có hàm findall() có thể được sử dụng để trích xuất các giá trị số nguyên từ một chuỗi. Hàm findall() trả về danh sách tất cả các kết quả phù hợp mà nó tìm thấy. Chuỗi có thể là chuỗi ký tự hoặc biểu thức chính quy. Nếu bạn chỉ muốn trích xuất các số nguyên dương, bạn có thể sử dụng biểu thức chính quy sau. [1-9][0-9]* 1đầu ra 2Trong ví dụ mã trên
Sử dụng các hàm filter(), map() và isdigit()Trong Python, phương thức isdigit() dùng để kiểm tra xem chuỗi đã cho có phải là chữ số hay không. Hàm này được sử dụng cùng với các hàm map() và filter() để chỉ trích xuất các giá trị số nguyên từ một chuỗi. Hàm map() áp dụng hàm isdigit() cho từng phần tử của iterable đã cho (i. e. danh sách, bộ dữ liệu, v.v. ) và trả về danh sách kết quả. Hàm filter() lọc khả năng lặp đã cho bằng cách loại bỏ các phần tử mà phương thức isdigit() trả về Sai Như vậy, để chỉ trích xuất các giá trị nguyên từ một chuỗi, chúng ta cần sử dụng các hàm map() và filter() cùng với phương thức isdigit() 3đầu ra 4Trong ví dụ mã trên, hàm map() áp dụng hàm int cho mọi phần tử trong danh sách my_str. Hàm bộ lọc kiểm tra xem mọi phần tử trong danh sách my_str có phải là một chữ số hay không và trả về một danh sách chỉ gồm các phần tử chữ số. Cuối cùng, chức năng in in ra danh sách kết quả |