在 Python 中计算字符串中的大写字母

Python 中要计算字符串中的大写字母:

  1. 使用生成器表达式迭代字符串。
  2. 使用 str.isupper() 方法检查每个字符是否为大写。
  3. 使用 sum() 函数获取大写字母的计数。
my_str = 'FQLzadmei123'


# ✅ 计算字符串中的大写字母
uppercase_count = sum(1 for char in my_str if char.isupper())
print(uppercase_count)  # ?️ 3

# -------------------------------------------------

# ✅ 从字符串中提取大写字母
only_upper = ''.join(char for char in my_str if char.isupper())
print(only_upper)  # ?️ FQL

在 Python 中计算字符串中的大写字母

我们使用生成器表达式来迭代字符串。

生成器表达式用于对每个元素执行某些操作或选择满足条件的元素子集。

在每次迭代中,我们使用 str.isupper() 方法检查当前字符是否为大写,如果是则返回 1。

如果字符串中的所有大小写字符都是大写且字符串至少包含一个大小写字符,则 str.isupper 方法返回 True,否则返回 False。

my_str = 'ZADMEI.COM'

# ✅ 检查字符串中的所有字符是否都是大写
all_uppercase = my_str.isupper()
print(all_uppercase)  # ?️ True

最后一步是使用 sum() 函数获取字符串中大写字母的总数。

my_str = 'FQLzadmei123'


uppercase_count = sum(1 for char in my_str if char.isupper())
print(uppercase_count)  # ?️ 3

sum 函数接受一个可迭代对象,从左到右对其项目求和并返回总数。

如果需要从字符串中提取大写字母,可以使用相同的方法。

my_str = 'FQLzadmei123'


only_upper = ''.join(char for char in my_str if char.isupper())
print(only_upper)  # ?️ FQL

only_upper = [char for char in my_str if char.isupper()]
print(only_upper)  # ?️ ['F', 'Q', 'L']

第一个示例使用 str.join() 方法将字符串中的大写字符连接到新字符串中。

第二个示例返回一个列表,其中包含字符串中的大写字符。

或者,我们可以使用简单的 for 循环。


使用 for 循环计算字符串中的大写字母

要计算字符串中的大写字母:

  1. 使用 for 循环遍历字符串。
  2. 使用 str.isupper() 方法检查每个字符是否为大写。
  3. 如果满足条件,则将计数变量递增 1。
my_str = 'FQLzadmei123'

uppercase_count = 0

for char in my_str:
    if char.isupper():
        uppercase_count += 1

print(uppercase_count)  # ?️ 3

我们使用 for 循环遍历字符串。

如果当前字符是大写字母,我们将存储在 uppercase_count 变量中的值增加 1。

+= 运算符是 uppercase_count = uppercase_count + 1 的简写。

以下代码示例实现了相同的结果。

my_str = 'FQLzadmei123'

uppercase_count = 0

for char in my_str:
    if char.isupper():
        uppercase_count = uppercase_count + 1

print(uppercase_count)  # ?️ 3