我是python新手,我试图得到一个名为fizz\u count的函数,该函数将一个列表x作为输入,并返回该列表中字符串“fizz”的计数。但代码总是返回1。你知道吗
迄今为止的代码:
def fizz_count(x):
count = 0
for item in x:
if str(item).lower() == "fizz":
count += 1
return count
因此,当调用fizz_count(["fizz","buzz","fizz"])
时,代码应该返回2。你知道吗
Tags:
有一个漂亮的内置python函数,名为
count
,它实际上正是您想要的:如果对python有疑问,请咨询the docs
JaredPar提出了一个有效的观点,如果您希望这是不区分大小写的,那么您必须在这里使用列表理解。修改的代码(添加了实用程序):
它对我来说很好用。你知道吗
正如@Slater Tyranus所写,当然要使用
list.count
->;fizzes.count('fizz')
。如果您想做一些更复杂的计数(比如case insistive),列表理解可能会对您有所帮助。你知道吗或者(感谢@iCodez):
对于性能迷(Python2.7)
Python3.3(看起来完全相反):
结论
list.count
。你知道吗sum
快。你知道吗unicode
会使速度降低约30%(不是在结果中,而是在本地检查)。你知道吗相关问题 更多 >
编程相关推荐