Python - 如何计算列表中字符串的大写字母数量

0 投票
2 回答
4330 浏览
提问于 2025-05-01 14:33

比如说,我有这样一个列表:

s = ["Johnny and Annie", "Great job guys", "She and I"]

我该怎么让Python计算这个列表中每个元素的大写字母数量呢?在这个例子中,Python应该返回2、1、2。

这是我目前写的代码:

def poisci_pare(besedilo):
x = []
seznam = []
t = re.split("[.]", besedilo)
for e in t:
    x = x + e.split()
for s in x:
    if s == s.capitalize() and not s.startswith('"'):
        seznam.append(s)

这个函数会把句子用句号分开,然后过滤出所有的大写单词,但我不知道怎么让它计算大写字母的数量……

暂无标签

2 个回答

0

一个简单的方法可以是:

  • 遍历你列表中的每个字符串
  • 为当前字符串初始化一个大写字母的计数器
  • 遍历当前字符串中的每个字符,检查它是否是大写字母
  • 用找到的大写字母数量更新当前字符串的计数器
4

试试这个:

[sum([c.isupper() for c in a]) for a in s]

对于你的例子,它会输出:

[2, 1, 2]

撰写回答