Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python给定TypeError:count即使给定参数也至少接受*参数_Python_Arguments_Cout - Fatal编程技术网

python给定TypeError:count即使给定参数也至少接受*参数

python给定TypeError:count即使给定参数也至少接受*参数,python,arguments,cout,Python,Arguments,Cout,我有以下代码,其中我将I作为cout的参数,但仍然得到TypeError:count至少接受1个给定的参数0 str.counti>1应该是s.counti>1,这将修复您的错误 您可以在seti:或集合中使用for i。计数器可以更有效地解决您的任务: >>> from collections import Counter >>> s = 'abbc' >>> Counter(s).most_common(1)[0][1] == 1 Fal

我有以下代码,其中我将I作为cout的参数,但仍然得到TypeError:count至少接受1个给定的参数0

str.counti>1应该是s.counti>1,这将修复您的错误

您可以在seti:或集合中使用for i。计数器可以更有效地解决您的任务:

>>> from collections import Counter
>>> s = 'abbc'
>>> Counter(s).most_common(1)[0][1] == 1
False
时间:

s = 'abcdefghijklmnopqrstuvwxyzz'  # a worst case?

%timeit Counter(s).most_common(1)[0][1] == 1
13.2 µs ± 27.7 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

%timeit len(set(s)) == len(s)
1.33 µs ± 3.46 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

%%timeit
for i in set(s):
    if s.count(i) > 1:
        break
1.72 µs ± 17.5 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

%%timeit
for i in s:
    if s.count(i) > 1:
        break
6.78 µs ± 14.1 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

此代码使用参数正确调用count,因此这不是您正在运行的代码。给我们看看真正的代码。@JohnGordon实际上这个错误是由他们的code@Chris_Rands怎样该代码示例显然调用str.counti。@JohnGordon他们的意思是s.counti try str.count vs str.count,@JohnGordon str.counti在本例中,字符串实例丢失;我同意回溯,它有点不主动,但其他一切都一样,比如try list.append[]。实际上,在一些情况下,您应该编写这样的调用,例如str.maketrans-perhapsI实际上认为最有效的测试应该是lensets==lens@FHTMitchell哦,是的,这可能更容易理解,但我必须确定我在你的答案中添加了一些是为了好玩。希望你不介意:@FHTMitchell谢谢!计数器的速度惊人地慢,如果对更长的字符串使用s*10000,它会改变吗?或者更确切地说是s[:-1]*10000+z'igues@FHTMitchelllist.count以C的速度运行,因此对于短序列来说速度很快,但时间复杂度比计数器差得多,因此对于较长的序列,请检查这些计时
s = 'abcdefghijklmnopqrstuvwxyzz'  # a worst case?

%timeit Counter(s).most_common(1)[0][1] == 1
13.2 µs ± 27.7 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

%timeit len(set(s)) == len(s)
1.33 µs ± 3.46 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

%%timeit
for i in set(s):
    if s.count(i) > 1:
        break
1.72 µs ± 17.5 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

%%timeit
for i in s:
    if s.count(i) > 1:
        break
6.78 µs ± 14.1 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)