编码蝙蝠(Python> List-1> same_first_last

时间:2017-03-07 14:33:56

标签: python

该函数有一个列表,如果列表的第一个和最后一个数字相同,则必须返回True。

def same_first_last(nums):
   if nums[0] == nums[len(nums) - 1]:
       return True
   else:
       return False

该函数返回“索引值超出范围”。请帮忙

3 个答案:

答案 0 :(得分:1)

问题是如何处理空列表的情况。这取决于你如何看待它:如果你看到一个没有数字的数字的空列表,你可以说第一个和最后一个数字是相同的。在这种情况下,你可以写:

def same_first_last(nums):
    return not nums or nums[0] == nums[-1]

如果您认为空列表具有相同的第一个和最后一个数字,则可以使用:

def same_first_last(nums):
    return bool(nums) and nums[0] == nums[-1]

答案 1 :(得分:0)

你可以修改:

 if nums[0] == nums[-1]:
       return True

 return False

但我认为错误“索引值超出范围”,此函数中的 nums 帖子可能会清空列表

答案 2 :(得分:0)

首先,检查列表是否为空。假设列表不为空。该方法如下所示。

  def same_first_last(nums)
      return True if a[0]==a[-1] else False

nums [-1]是从列表中获取最后一个元素的快捷方式。 nums [-n]语法获取第n个到最后一个元素。示例:

 nums = [1,2,3,1,3]
 nums[-2] #returns 1
 nums[-3] #returns 3