我希望能够为 python 中的内置计数编写替代代码: 此代码有效
def count(element,seq):
"""Counts how often an element occurs
...in a sequence"""
mycount = seq.count(element)
return mycount
但我想将它写在一个 for 循环中(或其他方式?),我已经做到了这一点:
def count(element,seq):
"""Counts how often an element occurs
...in a sequence"""
for i in seq:
if element == seq:
print i
我不确定如何将重复出现的元素作为整数返回。任何帮助表示赞赏!!
请您参考如下方法:
使用 sum() 和生成器表达式:
def count(element,seq):
"""Counts how often an element occurs
...in a sequence"""
return sum(1 for i in seq if i == element)
这是做什么的:它遍历 seq 中的每个项目,如果该项目等于 element,它会生成一个 1, sum() 相加得到总数。
使用这样的生成器表达式意味着一次只会引用 seq 的一项,从而使您可以高效地扫描巨大序列。
