[英]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.