python - 为什么 isupper() 函数在 if 条件下不起作用?
问题描述
我的代码看起来像:
import re
lst=[]
b = [('to', 1), ('Me', 2), ('And', 3), ('one', 5), ('listen', 6), ('up', 7)]
#print(type(b[2][0]))
count = 0
for i in range(len(b)):
if b[i][0].isupper():
count = count + 1
r = re.findall('([A-Z][a-z]+)', b[i][0])
print(r)
print(count)
我希望看到大写的单词作为结果,例如:
["Me"]
["And"]
但我什么也没得到,计数显示大写单词的数量为 0!
奇怪的是,如果我使用islower()它可以工作并且它显示所有不大写的单词!
import re
lst=[]
b = [('to', 1), ('Me', 2), ('And', 3), ('one', 5), ('listen', 6), ('up', 7)]
#print(type(b[2][0]))
count = 0
for i in range(len(b)):
if b[i][0].islower():
count = count + 1
r = re.findall('([a-z]+)', b[i][0])
print(r)
print(count)
我怎样才能解决这个问题?
解决方案
使用istitle
而不是isupper
.
import re
lst=[]
b = [('to', 1), ('Me', 2), ('And', 3), ('one', 5), ('listen', 6), ('up', 7)]
#print(type(b[2][0]))
count = 0
for i in range(len(b)):
if b[i][0].istitle():
count = count + 1
r = re.findall('([a-z]+)', b[i][0])
print(r)
print(count)
推荐阅读
- google-cloud-platform - Redis(Memorystore) 清除密钥
- c++ - 是否可以在openGL中在GPU上生成几何图形并直接用于渲染
- vim - 使用在 Windows 10 cmd 行窗口中运行的 vim 复制到剪贴板
- python - 用 Python 绘制 .csv 文件
- docker - 以百分比形式获取 Docker 容器磁盘使用率
- c++ - 如何在 C++ 中运行 bash 命令而不使用 linux 中的系统
- sql-server - SSRS OLE DB 提供程序不在下拉列表中
- flutter - Flutter 空安全迁移卡在“未定义命名参数”错误
- azure - 加载并保存回文件共享
- python - sympy中线性方程组的解系统