Python * .count返回一个字母而不是一个数字

时间:2015-02-10 19:55:27

标签: python string count int

我试图计算字母C出现在列表中的次数。当我使用时:

count = data[data.count('C')]
print ("There are", count, "molecules in the file")

运行代码时,它返回There are . molecules in the file 如果我在程序运行后输入data.count('C'),它将返回正确的值(43)。我无法弄清楚我做错了什么。

5 个答案:

答案 0 :(得分:2)

这行可能与它有关吗,也许吧? ;)

count = data[data.count('C')] # This gives you the value at index data.count('C') of data

您后来提到的实际计数是:

count = data.count('C')

答案 1 :(得分:2)

尝试用第1行代替:

count = data.count('C')

答案 2 :(得分:1)

修改第一行:

count = data.count('C')

问题是您正在打印列表数据的第n个元素(其中n = count)而不是计数本身。

作为旁注,这是打印结果的更好方法:

print "There are {0} molecules in the file".format(count)

答案 3 :(得分:1)

您正在使用data两次....

count = data[data.count('C')]

应该是

count =data.count('C')

这会打印

There are 43 molecules in the file

答案 4 :(得分:1)

好消息是,您从该方法中获得了正确的值。

坏消息是你没有错误地使用它。

您将结果用作字符串的索引,然后从字符串中生成一个字符。停止这样做。