Trong bài đăng này, tôi sẽ giải thích cách đếm số chữ số trong một chuỗi bằng Python. Tôi sẽ giải thích cách tôi trích xuất các chữ số ra Chuỗi. Điều này phổ biến trong Miền khoa học dữ liệu
Tôi có thể đếm số chữ số bằng một vòng lặp for đơn giản. Tôi lặp qua tất cả các ký tự trong một chuỗi và kiểm tra xem đó có phải là một chữ số không. Ở bài trước Ba chữ trong python mình đã giải thích hàm isdigit rồi. Tôi cũng sử dụng chức năng này trong vấn đề này. Tôi tăng bộ đếm khi ký tự là một chữ số. Một vòng lặp for rất đơn giản
text = "I am 1 string with 2 digits"
count = 0
for char in text:
if char.isdigit[]:
count += 1
print["the number of digits is: " + str[count]]
Python có khả năng hiểu danh sách. Với hàm tổng tích hợp, tôi có thể làm tương tự. Hàm sum yêu cầu một iterable làm tham số đầu vào
text = "I am 1 string with 2 digits"
count = sum[1 for x in text if x.isdigit[]]
print["the number of digits is: " + str[count]]
Hàm tổng cũng có thể hoạt động trên một mảng Booleans. Giá trị True sẽ hoạt động như 1 và Sai sẽ hoạt động như 0. Xem xét ví dụ sau
result = sum[[True,True,False]]
print[result] # This will print 2
Điều này dẫn đến kết quả sau
text = "I am 1 string with 2 digits"
count = sum[x.isdigit[] for x in text]
print["the number of digits is: " + str[count]]
Với biểu thức chính quy
Tôi cũng có thể sử dụng gói re. Ví dụ sau trước tiên xóa tất cả các ký tự không phải chữ số. Phần còn lại là một chuỗi chỉ có các ký tự. Điều này có nghĩa là tôi chỉ cần lấy độ dài của chuỗi để biết có bao nhiêu chữ số trong chuỗi
import re
text = "I am 1 string with 2 digits"
count = re.sub["\D", "", test_string]
print["the number of digits is: " + len[count]]
Gói re có chức năng findall. Ở đây chúng ta có thể nhập một biểu thức chính quy để đếm tất cả các chữ số
len[re.findall['\d', text]]
Thưởng
Là người cuối cùng, tôi cũng có thể sử dụng số lượng phương thức String tích hợp. Chỉ cần đếm tất cả các chữ số trong chuỗi và cộng các số cùng với phương thức tổng
return sum[text.count[digit] for digit in '1234567890']
Có một số cách để đếm số chữ số trong một chuỗi bằng Python. Tôi đã cho thấy một số trong số họ ở đây. Tôi hy vọng những mẹo này có thể giúp bạn giải quyết các vấn đề tương tự khi viết mã
Phương thức
text = "I am 1 string with 2 digits"
count = sum[1 for x in text if x.isdigit[]]
print["the number of digits is: " + str[count]]
7 chỉ yêu cầu một tham số duy nhất để thực thi. Tuy nhiên, nó cũng có hai tham số tùy chọn- chuỗi con - chuỗi có số đếm được tìm thấy
- bắt đầu [Tùy chọn] - chỉ mục bắt đầu trong chuỗi nơi tìm kiếm bắt đầu
- kết thúc [Tùy chọn] - chỉ mục kết thúc trong chuỗi nơi tìm kiếm kết thúc
Ghi chú. Chỉ mục trong Python bắt đầu từ 0, không phải 1
đếm[] Giá trị trả về
Phương thức
text = "I am 1 string with 2 digits"
count = sum[1 for x in text if x.isdigit[]]
print["the number of digits is: " + str[count]]
7 trả về số lần xuất hiện của chuỗi con trong chuỗi đã choví dụ 1. Đếm số lần xuất hiện của một chuỗi con đã cho
# define string
string = "Python is awesome, isn't it?"
substring = "is"
count = string.count[substring]
# print count
print["The count is:", count]
đầu ra
ví dụ 2. Đếm số lần xuất hiện của một chuỗi con đã cho bằng bắt đầu và kết thúc
# define string
string = "Python is awesome, isn't it?"
substring = "i"
# count after first 'i' and before the last 'i'
count = string.count[substring, 8, 25]
# print count
print["The count is:", count]
đầu ra
text = "I am 1 string with 2 digits"
count = sum[1 for x in text if x.isdigit[]]
print["the number of digits is: " + str[count]]
0Ở đây, quá trình đếm bắt đầu sau khi gặp phải
text = "I am 1 string with 2 digits"
count = sum[1 for x in text if x.isdigit[]]
print["the number of digits is: " + str[count]]
10 đầu tiên, tôi. e. Vị trí chỉ số text = "I am 1 string with 2 digits"
count = sum[1 for x in text if x.isdigit[]]
print["the number of digits is: " + str[count]]
11 Trong chương trình này, vòng lặp while được lặp lại cho đến khi biểu thức kiểm tra
text = "I am 1 string with 2 digits"
count = sum[1 for x in text if x.isdigit[]]
print["the number of digits is: " + str[count]]
9 được đánh giá là 0 [sai]- Sau lần lặp đầu tiên,
0 sẽ được chia cho 10 và giá trị của nó sẽ là 345. Sau đó,result = sum[[True,True,False]] print[result] # This will print 2
1 được tăng lên 1result = sum[[True,True,False]] print[result] # This will print 2
- Sau lần lặp thứ hai, giá trị của
0 sẽ là 34 vàresult = sum[[True,True,False]] print[result] # This will print 2
1 được tăng lên 2result = sum[[True,True,False]] print[result] # This will print 2
- Sau lần lặp thứ ba, giá trị của
0 sẽ là 3 vàresult = sum[[True,True,False]] print[result] # This will print 2
1 được tăng lên 3result = sum[[True,True,False]] print[result] # This will print 2
- Sau lần lặp thứ tư, giá trị của
0 sẽ là 0 vàresult = sum[[True,True,False]] print[result] # This will print 2
1 được tăng lên 4result = sum[[True,True,False]] print[result] # This will print 2
- Sau đó, biểu thức kiểm tra được đánh giá là sai và vòng lặp kết thúc
ví dụ 2. Sử dụng các phương thức sẵn có
text = "I am 1 string with 2 digits"
count = sum[1 for x in text if x.isdigit[]]
print["the number of digits is: " + str[count]]
3đầu ra
text = "I am 1 string with 2 digits"
count = sum[1 for x in text if x.isdigit[]]
print["the number of digits is: " + str[count]]
4Trong ví dụ trên, trước tiên chúng ta chuyển đổi giá trị số nguyên thành chuỗi bằng cách sử dụng
text = "I am 1 string with 2 digits"
count = sum[1 for x in text if x.isdigit[]]
print["the number of digits is: " + str[count]]
53. Sau đó, chúng tôi tìm thấy độ dài của chuỗi bằng cách sử dụng text = "I am 1 string with 2 digits"
count = sum[1 for x in text if x.isdigit[]]
print["the number of digits is: " + str[count]]
54