Python 如果元素是列表中的最后一个元素,是否有函数返回True?

Python 如果元素是列表中的最后一个元素,是否有函数返回True?,python,python-3.x,Python,Python 3.x,如果某个元素是列表中的最后一个元素,是否有任何函数返回True;负指数为您提供从末尾开始计算的项目: some_list[-1] == element 当some\u列表中的最后一项与元素所引用的值相等时,此表达式为True 演示: 如果元素可能不止一次出现在列表中,并且如果它是列表中的最后一项,并且没有出现在其他任何地方,则只需要True,然后明确测试: some_list[-1] == element and some_list.index(element) == len(some_lis

如果某个元素是列表中的最后一个元素,是否有任何函数返回
True
;负指数为您提供从末尾开始计算的项目:

some_list[-1] == element
some\u列表中的最后一项与
元素所引用的值相等时,此表达式为
True

演示:

如果
元素
可能不止一次出现在列表中,并且如果它是列表中的最后一项,并且没有出现在其他任何地方,则只需要
True
,然后明确测试:

some_list[-1] == element and some_list.index(element) == len(some_list) - 1

这是因为如果在
some\u list
中有多个
元素出现,那么
list.index()
方法将找到比
len(some\u list)
更低的索引。该表达式在性能和扫描其他事件的要求之间取得了平衡;如果
某些列表[-1]==元素
测试失败,则无需扫描整个列表。

使用平等和项目访问;负指数为您提供从末尾开始计算的项目:

some_list[-1] == element
some\u列表中的最后一项与
元素所引用的值相等时,此表达式为
True

演示:

如果
元素
可能不止一次出现在列表中,并且如果它是列表中的最后一项,并且没有出现在其他任何地方,则只需要
True
,然后明确测试:

some_list[-1] == element and some_list.index(element) == len(some_list) - 1

这是因为如果在
some\u list
中有多个
元素出现,那么
list.index()
方法将找到比
len(some\u list)
更低的索引。该表达式在性能和扫描其他事件的要求之间取得了平衡;如果
some_list[-1]==元素
测试失败,则无需扫描整个列表。

这只是检查值是否与最后一个元素的值匹配。如果该元素实际上是列表中的最后一个元素,则不会。您可以有一个列表,其中该值出现多次。@M4rtini:在那里,添加了一个额外的测试,以验证
元素
只出现一次;如果没有,它应该尽早短路,所以我使用了
list.index()
而不是
list.count()
或切片。你可以检查对象引用,一些列表[-1]是元素,但不是万无一失的,因为不同的对象可以引用同一个位置。x=['foo','foo'],x[0]是x[1]为真:/@M4rtini:这是不同的。在CPython中插入短字符串是一个实现细节。在任何情况下,对象标识也意味着对象相等,这就是我们在这里测试的目的。如果要测试对象标识,可以使用
is
而不是
=
。这只是检查值是否与最后一个元素的值匹配。如果该元素实际上是列表中的最后一个元素,则不会。您可以有一个列表,其中该值出现多次。@M4rtini:在那里,添加了一个额外的测试,以验证
元素
只出现一次;如果没有,它应该尽早短路,所以我使用了
list.index()
而不是
list.count()
或切片。你可以检查对象引用,一些列表[-1]是元素,但不是万无一失的,因为不同的对象可以引用同一个位置。x=['foo','foo'],x[0]是x[1]为真:/@M4rtini:这是不同的。在CPython中插入短字符串是一个实现细节。在任何情况下,对象标识也意味着对象相等,这就是我们在这里测试的目的。如果要测试对象标识,可以使用
is
而不是
=