1

当我尝试在我的树莓派上使用“list.count”函数时,它会出现

   Name Error: name 'count' is not defined

有什么我可以做的吗?预先感谢您的任何帮助。我正在使用 Python。我刚开始使用 Python,在我的教程中它指出

   >>>count(seq,'a')

'seq' 是我之前输入的字母序列。我希望它是为了计算序列中“a”的数量.453

非常感谢大家的快速回复和回答,我现在已经解决了这个问题。这是我问的第一个在线问题,再次感谢您。Markus Unterwaditzer 的第二个答案终于解决了 'seq.count('a')' 的问题

还要感谢 DSM 找到教程并解释了我遇到问题的原因。现在一切正常,我又开始学习我的第一门计算机语言了。

4

3 回答 3

4

啊。本教程的神奇之处在于

from string import *

线,这是不好的做法。它将字符串模块中的所有内容导入范围,包括函数string.count

>>> print string.count.__doc__
count(s, sub[, start[,end]]) -> int

    Return the number of occurrences of substring sub in string
    s[start:end].  Optional arguments start and end are
    interpreted as in slice notation.

count也是字符串的方法,所以可以写

>>> 'aaa'.count('a')
3

这通常是首选。在现代 Python 中,string模块甚至没有函数count

于 2013-02-06T20:14:37.913 回答
1

I expect it is meant to count the number of 'a's in the sequence

根据list具体情况,这可能不是正确的语法。如果list是一个字符串,你可以这样做:

>>>a = "hello"
>>>a.count('h')
1
>>>a.count('l')
2

“列表”的工作原理相同:

>>>a = ['h','e','l','l','o']
>>>a.count('l')
2
于 2013-02-06T19:57:47.853 回答
1
>>> seq = ['a', 'b', 'c', 'a']
>>> seq.count('a')
2
>>> type(seq) is list  # the reason it's mentioned as list.count
True
>>> list.count(seq, 'a')  # the same thing, but nobody does it like that
2
于 2013-02-06T19:57:54.543 回答