我在这里有一个任务:
给定一个int数组,返回数组中9的数字。
array_count9([1, 2, 9]) → 1
array_count9([1, 9, 9]) → 2
array_count9([1, 9, 9, 3, 9]) → 3
我有两个想法,一个是:
def array_count9(nums):
count = 0
list1 = [x for x in nums if x==9]
return len(list1)
和另一个:
def array_count9(nums):
count = 0
for n in nums:
if n==9:
count +=1
return count
但是我想知道在性能,清晰度方面,哪种方式更像Pythonic?非常感谢你
答案 0 :(得分:6)
最Pythonic方式是在这种情况下使用内置函数count
。试试这个:
def array_count9(nums):
return nums.count(9)