我在这里有一个任务:
给定一组int,返回数组中9的数量.
array_count9([1, 2, 9]) ? 1
array_count9([1, 9, 9]) ? 2
array_count9([1, 9, 9, 3, 9]) ? 3
Run Code Online (Sandbox Code Playgroud)
我有2个想法,一个是:
def array_count9(nums):
count = 0
list1 = [x for x in nums if x==9]
return len(list1)
Run Code Online (Sandbox Code Playgroud)
和另外一个:
def array_count9(nums):
count = 0
for n in nums:
if n==9:
count +=1
return count
Run Code Online (Sandbox Code Playgroud)
但我想知道在性能,清晰度方面,哪种方式更像Pythonic ......?非常感谢你
count在这种情况下,最Pythonic方式是使用内置函数.试试这个:
def array_count9(nums):
return nums.count(9)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
54 次 |
| 最近记录: |