MyC*_*rta 0 python arrays sum list conditional-statements
我正在编写来自codingbat.com的以下Python列表练习:
给定一个int数组,返回数组中前两个元素的总和.如果数组长度小于2,则只需总结存在的元素,如果数组长度为0,则返回0.示例:
Run Code Online (Sandbox Code Playgroud)sum2([1, 2, 3]) ? 3 sum2([1, 1]) ? 2 sum2([1, 1, 1, 1]) ? 2
我的解决方案有效:
def sum2(nums):
if len(nums)>=2:
return nums[0] + nums[1]
elif len(nums)==1:
return nums[0]
return 0
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有任何方法可以用更少的条件语句来解决问题.
>>> sum([1,2,3][:2])
3
>>> sum([1,1,1,1][:2])
2
>>> sum([1,1][:2])
2
>>> sum([1][:2])
1
>>> sum([][:2])
0
Run Code Online (Sandbox Code Playgroud)