添加列表的第一个和最后一个数字

时间:2016-11-22 09:14:43

标签: python

我被要求在列表中添加第一个和最后一个数字。这就是我想出的:

def addFirstAndLast(x): 
    return x[0] + x[-1]

但是当我运行代码时,我收到的错误是:

IndexError: list index out of range

我找不到问题但是当我搜索这个问题时,答案与我的代码相同。

可能与测试用例有关:

  1. addFirstAndLast([2])
  2. addFirstAndLast([2, 2, 3])
  3. addFirstAndLast([])
  4. 你能帮我吗?

5 个答案:

答案 0 :(得分:2)

您需要检查列表是否为空。

def addFirstAndLast(x): 
    return (x[0] + x[-1]) if x else 0

答案 1 :(得分:0)

最后一个测试用例传递一个空列表。空列表既没有[0]也没有[-1]元素。

答案 2 :(得分:0)

当然,在你的第三种情况下,没有项目,因此没有相关的索引。

答案 3 :(得分:0)

如果您的列表为空,那么您没有第一个和最后一个元素。请尝试以下方法来解决您的问题:

def add_first_and_last(x):
    if x:
        return x[0] + x[-1]
    else:
        return 0  # Or whatever you want

您也可以尝试:

def add_first_and_last(x):
    return x[0] + x[-1] if x else 0

答案 4 :(得分:0)

在你的上一个案例中3. addFirstAndLast([])不是[0]和[-1]

的任何索引

因为列表是空的!

所以你应该做一个例子if x == []: return x