Hướng dẫn how do i find out how many uppercase letters are in a string in python? - Làm cách nào để tôi biết có bao nhiêu chữ hoa trong một chuỗi trong python?

Tôi đã thực hiện một số so sánh về các phương thức trên + được biên dịch lại bằng cách sử dụng

import re
import string

def py_isupper(text): 
    return sum(1 for c in text if c.isupper())

def py_str_uppercase(text):
    return sum(1 for c in text if c in string.ascii_uppercase)

def py_filter_lambda(text):
    return len(list(filter(lambda x: x in string.ascii_uppercase, text)))

def regex(text):
    return len(re.findall(r'[A-Z]',text))

# remove compile from the loop
REGEX = re.compile(r'[A-Z]')
def regex_compiled(text):
    return len(REGEX.findall(text))
5 cho việc này, tôi đã sử dụng cuốn sách Alice Adventures In Wonderland, của Lewis Carroll từ Project Gutenberg.
For this, I've used the book Alice’s Adventures in Wonderland, by Lewis Carroll from Project Gutenberg.

from urllib.request import urlopen

# Download 
text = urlopen('https://www.gutenberg.org/files/11/11-0.txt').read().decode('utf-8')
# Split it into the separate chapters and remove table of contents, etc
sep = 'CHAPTER'
chaps = [sep + ch for ch in text.split('CHAPTER') if len(ch) > 1000]
len(chaps)

Xác định tất cả các phương pháp là chức năng để sử dụng chúng trong vòng lặp và giữ cô đọng.

import re
import string

def py_isupper(text): 
    return sum(1 for c in text if c.isupper())

def py_str_uppercase(text):
    return sum(1 for c in text if c in string.ascii_uppercase)

def py_filter_lambda(text):
    return len(list(filter(lambda x: x in string.ascii_uppercase, text)))

def regex(text):
    return len(re.findall(r'[A-Z]',text))

# remove compile from the loop
REGEX = re.compile(r'[A-Z]')
def regex_compiled(text):
    return len(REGEX.findall(text))

Các kết quả dưới đây.

%%timeit
cnt = [py_isupper(ch) for ch in chaps]

7,84 ms ± 69,7 Pha mỗi vòng (trung bình ± std. Dev. Của 7 lần chạy, 100 vòng mỗi)

%%timeit
cnt = [py_str_uppercase(ch) for ch in chaps]

11,9 ms ± 94,6 Pha mỗi vòng (trung bình ± std. Dev. Của 7 lần chạy, 100 vòng mỗi)

%%timeit
cnt = [py_filter_lambda(ch) for ch in chaps]

19,1 ms ± 499 Pha mỗi vòng (trung bình ± std. Dev. Của 7 lần chạy, 100 vòng mỗi)

%%timeit
cnt = [regex(ch) for ch in chaps]

1,49 ms ± 13 Pha mỗi vòng (trung bình ± std. Dev. Của 7 lần chạy, 1000 vòng mỗi)

%%timeit
cnt = [regex_compiled(ch) for ch in chaps]

1,45 ms ± 8,69 Pha mỗi vòng (trung bình ± std. Dev. Của 7 lần chạy, 1000 vòng mỗi)

Hướng dẫn how do i find out how many uppercase letters are in a string in python? - Làm cách nào để tôi biết có bao nhiêu chữ hoa trong một chuỗi trong python?

Bài viết này sẽ thảo luận về các cách khác nhau để đếm số lượng ký tự viết hoa trong một chuỗi.

Mục lục

  • Đếm các ký tự chữ hoa trong chuỗi python bằng cách sử dụng vòng lặp
  • Đếm các ký tự chữ hoa trong chuỗi python bằng hàm sum ()
  • Đếm các ký tự chữ hoa trong chuỗi python bằng regex
  • Đếm các ký tự chữ hoa trong chuỗi python bằng cách sử dụng danh sách hiểu

Đếm các ký tự chữ hoa trong chuỗi python bằng cách sử dụng vòng lặp

Đếm các ký tự chữ hoa trong chuỗi python bằng hàm sum ()

def count_upper_case_letters(str_obj):
    count = 0
    for elem in str_obj:
        if elem.isupper():
            count += 1
    return count

count = count_upper_case_letters('This is a Sample Text')

print(count)

Output:

Đếm các ký tự chữ hoa trong chuỗi python bằng regex

3

Đếm các ký tự chữ hoa trong chuỗi python bằng hàm sum ()

Đếm các ký tự chữ hoa trong chuỗi python bằng regex

str_obj = 'This is a Sample Text'

count = sum(1 for elem in str_obj if elem.isupper())

print(count)

Output:

3

Đếm các ký tự chữ hoa trong chuỗi python bằng regex

Đếm các ký tự chữ hoa trong chuỗi python bằng cách sử dụng danh sách hiểu

import re
import string

def py_isupper(text): 
    return sum(1 for c in text if c.isupper())

def py_str_uppercase(text):
    return sum(1 for c in text if c in string.ascii_uppercase)

def py_filter_lambda(text):
    return len(list(filter(lambda x: x in string.ascii_uppercase, text)))

def regex(text):
    return len(re.findall(r'[A-Z]',text))

# remove compile from the loop
REGEX = re.compile(r'[A-Z]')
def regex_compiled(text):
    return len(REGEX.findall(text))
1

Output:

3

Đếm các ký tự chữ hoa trong chuỗi python bằng cách sử dụng danh sách hiểu

Chúng ta có thể lặp lại một ký tự chuỗi bằng ký tự bằng cách sử dụng một vòng lặp và số lượng ký tự chữ hoa trong chuỗi trong quá trình lặp,

import re
import string

def py_isupper(text): 
    return sum(1 for c in text if c.isupper())

def py_str_uppercase(text):
    return sum(1 for c in text if c in string.ascii_uppercase)

def py_filter_lambda(text):
    return len(list(filter(lambda x: x in string.ascii_uppercase, text)))

def regex(text):
    return len(re.findall(r'[A-Z]',text))

# remove compile from the loop
REGEX = re.compile(r'[A-Z]')
def regex_compiled(text):
    return len(REGEX.findall(text))
3

Output:

3

Quảng cáo

Chúng ta có thể lặp lại tất cả các ký tự trong một chuỗi bằng cách sử dụng biểu thức máy phát. Khi một ký tự viết hoa được tìm thấy trong quá trình lặp, mang lại cho hàm sum (). Trong hàm sum () cuối cùng sẽ trả về tổng số ký tự chữ hoa trong một chuỗi,

Làm thế nào để bạn đếm các ký tự chữ hoa trong một chuỗi trong Python?

Sử dụng một vòng lặp để đi qua các ký tự trong chuỗi và tăng biến số đếm đầu tiên mỗi khi gặp ký tự chữ thường và tăng biến số đếm thứ hai mỗi khi gặp ký tự chữ hoa.4. In tổng số lượng của cả hai biến.

Làm thế nào để bạn đếm số lượng chữ hoa của một chuỗi?

Cách tiếp cận :..
Quét chuỗi str từ 0 đến chiều dài-1 ..
Kiểm tra một ký tự tại một thời điểm trên cơ sở các giá trị ASCII.if (str [i]> = 65 và str [i] = 97 và str [i] = 48 và str [i]
In tất cả các bộ đếm ..

Làm thế nào để bạn đếm số lượng chữ cái trong một chuỗi trong Python?

Trong Python, bạn có thể có độ dài của chuỗi str (= số lượng ký tự) với hàm tích hợp len ().with the built-in function len() .

Làm thế nào để bạn lọc chữ hoa trong Python?

Giải thích: Không có tất cả các chuỗi chữ hoa ...
Phương pháp số 1: Sử dụng vòng lặp ..
Phương pháp số 2: Sử dụng danh sách hiểu + all () + isupper ().
Phương pháp số 3: Sử dụng hàm ord () ..