2

我会隔离一个元组的最后一个元素,比如

a = (3,5,5)
last = a[-1]

但问题是我有这样一个不错的代码

if var == last:
  do something

它需要第一个5而不是第二个,我该怎么做才能拿最后一个?

4

2 回答 2

12

你试图做的事情是不可能的。这两个五是完全一样的。

但是,在遍历元组时,您可以检查是否到达了最后一个元素,如下所示:

a = (3, 5, 5)
for i, var in enumerate(a):
    if i == len(a) - 1:
        print 'last element:'
    print var

演示:

In [1]: a = (3, 5, 5)
In [2]: for i, var in enumerate(a):
   ...:     if i == len(a) - 1:
   ...:         print 'last element:'
   ...:     print var
   ...:
3
5
last element:
5
于 2012-04-14T10:13:41.717 回答
0

你可以像这样解压元组:

t = (3, 5, 5)
*_, last = t
assert last == 5
于 2021-02-09T13:47:51.867 回答