如何计算带有样本列表的字符串中的字母数?

时间:2014-02-23 08:13:42

标签: python python-2.7 python-3.x

value = 'bcdjbcdscv'
value = 'bcdvfdvdfvvdfvv'
value = 'bcvfdvdfvcdjbcdscv'

def count_letters(word, char):
    count = 0
    for c in word:
     if char == c:
      count += 1
    return count

如何使用样本列表计算字符串中的字母数?当我在python文件中编写上面的代码时,我的python shell中什么都没有。

4 个答案:

答案 0 :(得分:5)

有一种内置方法:

value.count('c')

答案 1 :(得分:2)

函数需要调用,并且返回值需要打印到stdout:

In [984]: value = 'bcvfdvdfvcdjbcdscv'

In [985]: count_letters(value, 'b')
Out[985]: 2

In [987]: ds=count_letters(value, 'd') #if you assign the return value to some variable, print it out:

In [988]: print ds
4

编辑:

计算字符串的长度时,使用python内置函数len

In [1024]: s='abcdefghij'

In [1025]: len(s)
Out[1025]: 10

你最好 google it 使用一些关键字,例如“python get string of a string”,然后再询问SO,这需要节省很多时间:)

EDIT2:

如何通过一次函数调用计算多个字符串的长度?

使用var-positional parameter *args,它接受​​任意位置参数序列:

In [1048]: def get_lengths(*args):
      ...:     return [len(i) for i in args]

In [1049]: get_lengths('abcd', 'efg', '1234567')
Out[1049]: [4, 3, 7]

答案 2 :(得分:1)

首先,你应该看看正确的缩进,只发送value。另外value被覆盖,因此最后一个将是实际参考。

其次,您需要调用已定义的函数。

#value = 'bcdjbcdscv'
#value = 'bcdvfdvdfvvdfvv'

value = 'bcvfdvdfvcdjbcdscv'

def count_letters(word, char):
    count = 0
    for c in word:
        if char == c:
        count += 1
    return count

x = count_letters(value, 'b')
print x
# 2

这应该产生您正在寻找的结果。你也可以打电话:

print value.count('b')
# 2

答案 3 :(得分:0)

在python中,有一个内置的方法来执行此操作。只需输入:

value = 'bcdjbcdscv'    
value.count('c')