为什么 isalpha() 不能识别字符串中的字母?
Why isalpha() doesn't recognize a letter in a string?
我是 python 的新手,我在使用 isaplha() 函数时遇到了一些问题。我想检查变量中的某些字符是否是字母。我实现了一个遍历所有字符并检查它们是否为字母的 for 循环。
variable = '23 Uhr'
for character in variable:
is_letter = variable.isalpha()
print(character, is_letter)
问题是它不区分字母和数字,每个字符都给我 'False' 作为输出(即使它实际上是一个字母!)。我也试过用isdigit()函数来验证它是否可以区分数字,而且在这种情况下它总是returns我'False'。我认为这是一个与变量存储方式有关的问题。我使用的值确实是更大数据框的一部分,但是当我使用 type() 函数时,它告诉我这是 class 字符串的一部分。我不知道如何解决这个问题。
谢谢!
您的代码存在逻辑错误。而不是
is_letter = variable.isalpha()
应该是
is_letter = character.isalpha()
工作代码:
>>> variable = '23 Uhr'
>>> for character in variable:
... is_letter = character.isalpha()
... print(character, is_letter)
...
2 False
3 False
False
U True
h True
r True
我是 python 的新手,我在使用 isaplha() 函数时遇到了一些问题。我想检查变量中的某些字符是否是字母。我实现了一个遍历所有字符并检查它们是否为字母的 for 循环。
variable = '23 Uhr'
for character in variable:
is_letter = variable.isalpha()
print(character, is_letter)
问题是它不区分字母和数字,每个字符都给我 'False' 作为输出(即使它实际上是一个字母!)。我也试过用isdigit()函数来验证它是否可以区分数字,而且在这种情况下它总是returns我'False'。我认为这是一个与变量存储方式有关的问题。我使用的值确实是更大数据框的一部分,但是当我使用 type() 函数时,它告诉我这是 class 字符串的一部分。我不知道如何解决这个问题。 谢谢!
您的代码存在逻辑错误。而不是
is_letter = variable.isalpha()
应该是
is_letter = character.isalpha()
工作代码:
>>> variable = '23 Uhr'
>>> for character in variable:
... is_letter = character.isalpha()
... print(character, is_letter)
...
2 False
3 False
False
U True
h True
r True