Python - 查找列表的最后一个元素

时间:2013-10-29 02:59:20

标签: python

我正在编写codingbat.com上的一些练习。我坚持的练习就是:

“给定一个int数组,如果6显示为数组中的第一个或最后一个元素,则返回True。数组长度为1或更长。

first_last6([1, 2, 6]) → True

first_last6([6, 1, 2, 3]) → True

first_last6([13, 6, 1, 2, 3]) → False"

以下是我的回答。我知道这是不正确的,但我不确定我做错了什么。

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

6 个答案:

答案 0 :(得分:5)

您的解决方案确实有效。这是一个稍微好一点的:

def first_last6(nums):
    return nums[0] == 6 or nums[-1] == 6

答案 1 :(得分:3)

nums[-1]为您提供最后一个元素

答案 2 :(得分:1)

更新:       阅读以下评论后,6 == llist[0] or 6 == llist[-1]将比创建元组更有效。

只需做6 in (llist[0],llist[-1]),你就不需要为此编写函数。

答案 3 :(得分:1)

在python中查找最后一个索引,你可以使用-1作为列表的索引。

你只需要更改nums [-1]而不是nums [len(nums)-1]

def first_last6(nums):

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

else:
   return False

答案 4 :(得分:0)

L[0]==6 or L[-1]==6

L[0]检查0个索引处的元素,即第一个元素
L[-1]检查-1个索引处的元素,即最后一个元素。请注意,这相当于检查L[len(L)-1]

如果你想让它变得更好和可扩展,你可以考虑这样做:

CHECK_INDICES = (0,-1)
any(L[i]==6 for i in CHECK_INDICES)

答案 5 :(得分:0)

在Python3中,您也可以像这样获得第一个和最后一个。如果nums中只有一个项目

,则会引发ValueError
def first_last6(nums):
    first, *middle, last = nums
    return first == 6 or last == 6