Python *.count 返回的是字母而不是数字
Python *.count is returning a letter instead of a number
我正在尝试计算字母 C 在列表中出现的次数。当我使用:
count = data[data.count('C')]
print ("There are", count, "molecules in the file")
当代码为运行时,它returns There are . molecules in the file
如果我在程序有 运行 后键入 data.count('C'),它会 returns 正确的值 (43)。我不知道我做错了什么。
修改第一行:
count = data.count('C')
问题是您正在打印列表数据的第 n 个元素(其中 n=计数)而不是计数本身。
附带说明一下,这是打印结果的更好方法:
print "There are {0} molecules in the file".format(count)
您正在使用 data
两次....
count = data[data.count('C')]
应该是
count =data.count('C')
这将打印
There are 43 molecules in the file
好消息是您从该方法中获得了正确的值。
坏消息是你使用不当。
您将结果用作字符串的索引,然后从字符串中生成一个字符。停止这样做。
这行可能与它有关吗? ;)
count = data[data.count('C')] # This gives you the value at index data.count('C') of data
实际计数,如您稍后所说,是:
count = data.count('C')
尝试将第一行替换为:
count = data.count('C')
我正在尝试计算字母 C 在列表中出现的次数。当我使用:
count = data[data.count('C')]
print ("There are", count, "molecules in the file")
当代码为运行时,它returns There are . molecules in the file
如果我在程序有 运行 后键入 data.count('C'),它会 returns 正确的值 (43)。我不知道我做错了什么。
修改第一行:
count = data.count('C')
问题是您正在打印列表数据的第 n 个元素(其中 n=计数)而不是计数本身。
附带说明一下,这是打印结果的更好方法:
print "There are {0} molecules in the file".format(count)
您正在使用 data
两次....
count = data[data.count('C')]
应该是
count =data.count('C')
这将打印
There are 43 molecules in the file
好消息是您从该方法中获得了正确的值。
坏消息是你使用不当。
您将结果用作字符串的索引,然后从字符串中生成一个字符。停止这样做。
这行可能与它有关吗? ;)
count = data[data.count('C')] # This gives you the value at index data.count('C') of data
实际计数,如您稍后所说,是:
count = data.count('C')
尝试将第一行替换为:
count = data.count('C')