繁体   English   中英

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

[英]Python - finding the last element of a list

我正在进行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

您的解决方案将真正起作用。 这是一个稍微好一点的:

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

nums[-1]给您最后一个元素

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

只需6 in (llist[0],llist[-1])执行6 in (llist[0],llist[-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
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)

在Python3中,您也可以像这样获得第一个和最后一个。 如果只有一个项目(以num为单位),则会引发ValueError

def first_last6(nums):
    first, *middle, last = nums
    return first == 6 or last == 6

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM