Làm thế nào tôi có thể viết một chương trình đếm các chữ cái, số và dấu câu [riêng biệt] trong một chuỗi?
Hỏi ngày 6 tháng 8 năm 2011 lúc 22:10Aug 6, 2011 at 22:10
2
Đối với một phiên bản ngưng tụ / nhanh hơn một chút, cũng có
Count = Lambda L1, L2: sum [[1 cho x trong l1 nếu x trong l2]]
ví dụ:
count = lambda l1,l2: sum[[1 for x in l1 if x in l2]]
In [11]: s = 'abcd!!!'
In [12]: count[s,set[string.punctuation]]
Out[12]: 3
Sử dụng một bộ sẽ giúp bạn tăng tốc độ.
Cũng tùy thuộc vào kích thước của chuỗi tôi nghĩ bạn cũng sẽ nhận được lợi ích bộ nhớ so với bộ lọc.
Đã trả lời ngày 9 tháng 1 năm 2013 lúc 6:42Jan 9, 2013 at 6:42
4
import string
a = "I'm not gonna post my homework as question on OS again, I'm not gonna..."
count = lambda l1, l2: len[list[filter[lambda c: c in l2, l1]]]
a_chars = count[a, string.ascii_letters]
a_punct = count[a, string.punctuation]
Đã trả lời ngày 6 tháng 8 năm 2011 lúc 22:36Aug 6, 2011 at 22:36
BrainstormbrainstormBrainStorm
2.0261 Huy hiệu vàng16 Huy hiệu bạc23 Huy hiệu đồng1 gold badge16 silver badges23 bronze badges
4
count_chars = ".arPZ"
string = "Phillip S. is doing a really good job."
counts = tuple[string.count[c] for c in count_chars]
print counts
[2, 2, 1, 1, 0]
Đã trả lời ngày 6 tháng 8 năm 2011 lúc 22:36Aug 6, 2011 at 22:36
BrainstormbrainstormNiklas R
2.0261 Huy hiệu vàng16 Huy hiệu bạc23 Huy hiệu đồng25 gold badges95 silver badges197 bronze badges
[2, 2, 1, 1, 0]
for c in "this is a test string with punctuation ,.;!":
print c
outputs:
t
h
i
s
...
Niklas rniklas r
15.6K25 Huy hiệu vàng95 Huy hiệu bạc197 Huy hiệu đồngAug 6, 2011 at 22:16
Để lặp qua một chuỗi, bạn có thể sử dụng một vòng lặp:Fredrik Pihl
Bây giờ, tất cả những gì bạn phải làm là đếm những lần xuất hiện ...7 gold badges81 silver badges130 bronze badges
1
Trong chương trình này, tất cả các tập hợp con của chuỗi cần phải được in. Tập hợp con của một chuỗi là ký tự hoặc nhóm các ký tự có trong chuỗi. Ví dụ: tất cả các tập hợp con có thể của một chuỗi "vui nhộn" sẽ là F, U, N, FU, UN, FUN."FUN" will be F, U, N, FU, UN, FUN.
Thuật toán
- Xác định một chuỗi.
- Nếu bất kỳ ký tự nào trong chuỗi được khớp với [!,., ', -, ",?,;], Tăng số lượng 1.
- In số đếm.
Sự phức tạp:
O[n]
Dung dịch
Python
Output:
Total number of punctuation characters exists in string: 4
C
Output:
Total number of punctuation characters exists in string: 4
Java
Output:
Total number of punctuation characters exists in string: 4
C#
Output:
Total number of punctuation characters exists in string: 4
PHP
Output:
Total number of punctuation characters exists in string: 4
Các bước để đếm các dấu chấm câu khai báo một biến để đếm số lần chấm câu và khởi tạo nó với 0. Bây giờ, khớp với mỗi ký tự với dấu chấm câu [!,., ', -, ",?, Trong chuỗi được khớp với bất kỳ dấu chấm câu nào, tăng biến số lượng lên 1.
Chúng ta có bao nhiêu dấu chấm câu?
Có 14 dấu chấm câu được sử dụng trong ngôn ngữ tiếng Anh. Đó là: thời kỳ, dấu hỏi, dấu chấm than, dấu phẩy, đại tràng, dấu chấm phẩy, dấu gạch ngang, dấu gạch nối, dấu ngoặc, niềng răng, dấu ngoặc đơn, dấu nháy đơn, dấu ngoặc kép và dấu chấm lửng.
Các bước để đếm các dấu chấm câu khai báo một biến để đếm số lần chấm câu và khởi tạo nó với 0. Bây giờ, khớp với mỗi ký tự với dấu chấm câu [!,., ', -, ",?, Trong chuỗi được khớp với bất kỳ dấu chấm câu nào, tăng biến số lượng lên 1.
Chúng ta có bao nhiêu dấu chấm câu?
Có 14 dấu chấm câu được sử dụng trong ngôn ngữ tiếng Anh. Đó là: thời kỳ, dấu hỏi, dấu chấm than, dấu phẩy, đại tràng, dấu chấm phẩy, dấu gạch ngang, dấu gạch nối, dấu ngoặc, niềng răng, dấu ngoặc đơn, dấu nháy đơn, dấu ngoặc kép và dấu chấm lửng.
Xem thảo luận
2 is a pre-initialized string used as string constant. In Python, import string
a = "I'm not gonna post my homework as question on OS again, I'm not gonna..."
count = lambda l1, l2: len[list[filter[lambda c: c in l2, l1]]]
a_chars = count[a, string.ascii_letters]
a_punct = count[a, string.punctuation]
import string
a = "I'm not gonna post my homework as question on OS again, I'm not gonna..."
count = lambda l1, l2: len[list[filter[lambda c: c in l2, l1]]]
a_chars = count[a, string.ascii_letters]
a_punct = count[a, string.punctuation]
2 will give the all sets of
punctuation.Cải thiện bài viết string.punctuation
Tham số: Không lấy bất kỳ tham số nào, vì nó không phải là một hàm. Doesn’t take any parameter, since it’s not a function.
Trả về: Trả về tất cả các bộ chấm câu. Return all sets of punctuation.
Lưu ý: Đảm bảo nhập chức năng thư viện chuỗi để sử dụng
2Make sure to import string library function inorder to use import string
a = "I'm not gonna post my homework as question on OS again, I'm not gonna..."
count = lambda l1, l2: len[list[filter[lambda c: c in l2, l1]]]
a_chars = count[a, string.ascii_letters]
a_punct = count[a, string.punctuation]
import string
a = "I'm not gonna post my homework as question on OS again, I'm not gonna..."
count = lambda l1, l2: len[list[filter[lambda c: c in l2, l1]]]
a_chars = count[a, string.ascii_letters]
a_punct = count[a, string.punctuation]
2Mã số 1:
import string
a = "I'm not gonna post my homework as question on OS again, I'm not gonna..."
count = lambda l1, l2: len[list[filter[lambda c: c in l2, l1]]]
a_chars = count[a, string.ascii_letters]
a_punct = count[a, string.punctuation]
5 import string
a = "I'm not gonna post my homework as question on OS again, I'm not gonna..."
count = lambda l1, l2: len[list[filter[lambda c: c in l2, l1]]]
a_chars = count[a, string.ascii_letters]
a_punct = count[a, string.punctuation]
6import string
a = "I'm not gonna post my homework as question on OS again, I'm not gonna..."
count = lambda l1, l2: len[list[filter[lambda c: c in l2, l1]]]
a_chars = count[a, string.ascii_letters]
a_punct = count[a, string.punctuation]
7import string
a = "I'm not gonna post my homework as question on OS again, I'm not gonna..."
count = lambda l1, l2: len[list[filter[lambda c: c in l2, l1]]]
a_chars = count[a, string.ascii_letters]
a_punct = count[a, string.punctuation]
8 import string
a = "I'm not gonna post my homework as question on OS again, I'm not gonna..."
count = lambda l1, l2: len[list[filter[lambda c: c in l2, l1]]]
a_chars = count[a, string.ascii_letters]
a_punct = count[a, string.punctuation]
9count_chars = ".arPZ"
string = "Phillip S. is doing a really good job."
counts = tuple[string.count[c] for c in count_chars]
print counts
0count_chars = ".arPZ"
string = "Phillip S. is doing a really good job."
counts = tuple[string.count[c] for c in count_chars]
print counts
1Đầu ra:
import string
a = "I'm not gonna post my homework as question on OS again, I'm not gonna..."
count = lambda l1, l2: len[list[filter[lambda c: c in l2, l1]]]
a_chars = count[a, string.ascii_letters]
a_punct = count[a, string.punctuation]
0& nbsp; Mã số 2: Các bài kiểm tra mã đã cho dấu chấm câu.
Code #2 : Given code tests for punctuation.
import string
a = "I'm not gonna post my homework as question on OS again, I'm not gonna..."
count = lambda l1, l2: len[list[filter[lambda c: c in l2, l1]]]
a_chars = count[a, string.ascii_letters]
a_punct = count[a, string.punctuation]
5 import string
a = "I'm not gonna post my homework as question on OS again, I'm not gonna..."
count = lambda l1, l2: len[list[filter[lambda c: c in l2, l1]]]
a_chars = count[a, string.ascii_letters]
a_punct = count[a, string.punctuation]
6import string
a = "I'm not gonna post my homework as question on OS again, I'm not gonna..."
count = lambda l1, l2: len[list[filter[lambda c: c in l2, l1]]]
a_chars = count[a, string.ascii_letters]
a_punct = count[a, string.punctuation]
7import string
a = "I'm not gonna post my homework as question on OS again, I'm not gonna..."
count = lambda l1, l2: len[list[filter[lambda c: c in l2, l1]]]
a_chars = count[a, string.ascii_letters]
a_punct = count[a, string.punctuation]
8 import string
a = "I'm not gonna post my homework as question on OS again, I'm not gonna..."
count = lambda l1, l2: len[list[filter[lambda c: c in l2, l1]]]
a_chars = count[a, string.ascii_letters]
a_punct = count[a, string.punctuation]
9Đầu ra:
& nbsp; Mã số 2: Các bài kiểm tra mã đã cho dấu chấm câu.
count_chars = ".arPZ"
string = "Phillip S. is doing a really good job."
counts = tuple[string.count[c] for c in count_chars]
print counts
4import string
a = "I'm not gonna post my homework as question on OS again, I'm not gonna..."
count = lambda l1, l2: len[list[filter[lambda c: c in l2, l1]]]
a_chars = count[a, string.ascii_letters]
a_punct = count[a, string.punctuation]
8 count_chars = ".arPZ"
string = "Phillip S. is doing a really good job."
counts = tuple[string.count[c] for c in count_chars]
print counts
6Output:
import string
a = "I'm not gonna post my homework as question on OS again, I'm not gonna..."
count = lambda l1, l2: len[list[filter[lambda c: c in l2, l1]]]
a_chars = count[a, string.ascii_letters]
a_punct = count[a, string.punctuation]
1