Python 字母的出现区分大小写

Python 字母的出现区分大小写,python,Python,我试图找出字母“b”和“b”的出现。我写的代码工作得非常好。有没有更好的方法可以做到这一点。 我的代码: 如果您只想对不同数量的字母应用相同的计算,您可能希望它们成为参数(count\u letter,letters)),但无论如何,这里有一个更实用的示例: def count_letter_b(string): return sum(map(string.count, 'Bb')) 这将使用绑定到输入字符串实例的str.count版本 请注意,如果将名称字符串用作参数名称,则会对其进

我试图找出字母“b”和“b”的出现。我写的代码工作得非常好。有没有更好的方法可以做到这一点。
我的代码:


如果您只想对不同数量的字母应用相同的计算,您可能希望它们成为参数(
count\u letter,letters)
),但无论如何,这里有一个更实用的示例:

def count_letter_b(string):
    return sum(map(string.count, 'Bb'))
这将使用绑定到输入字符串实例的
str.count
版本


请注意,如果将名称
字符串用作参数名称,则会对其进行阴影处理。

您可以将字符串转换为大写(或小写),然后计算出现次数:

string.upper().count('B')

因此,总体而言,您的代码如下所示:

def count_letter_b(string):
    return string.upper().count('B')
注意:无需强制转换为
int(..)
,因为
str的结果。count
已经是
int

使用以下方法:

def count_letter_b(字符串):
返回字符串.lower().count('b')
打印(计数字母(字符串))

你可以这样做

# count in upper string, upper character
def countInvariantChars(c,s):
    return s.upper().count(c.upper())

# list comprehensions + length    
def countInvariantChars2(c,s):
    return len([x for x in s if c.upper() == x.upper()])

# sum ones of list comprehension
def countInvariantChars3(c,s):
    return sum([1 for x in s if c.upper() == x.upper()])

print(countInvariantChars("b","Bubble Bungle"))    
print(countInvariantChars2("b","Bubble Bungle"))    
print(countInvariantChars3("b","Bubble Bungle"))
输出(pyfiddle.io):


这个代码不起作用。修复标识:)如果修复缩进,只需对输入调用
.lower()
,然后计算它。
str.count
已经返回一个int。
int(str.count(…)
是冗余的谢谢大家,所有这些都是有用的提示@PatrickArtner@roganjosh,thanksnice解决方案:)特定though@ReutSharabani是的。我正试图建立在OP所要求的基础上。
# count in upper string, upper character
def countInvariantChars(c,s):
    return s.upper().count(c.upper())

# list comprehensions + length    
def countInvariantChars2(c,s):
    return len([x for x in s if c.upper() == x.upper()])

# sum ones of list comprehension
def countInvariantChars3(c,s):
    return sum([1 for x in s if c.upper() == x.upper()])

print(countInvariantChars("b","Bubble Bungle"))    
print(countInvariantChars2("b","Bubble Bungle"))    
print(countInvariantChars3("b","Bubble Bungle"))
read-only@bash: 4
4
4