简体   繁体   中英

Add first and last number of a list

I am asked to add the first and last numbers in a list. This is what I came up with:

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

But when I run the code, i get an error that says:

IndexError: list index out of range

I can't find the problem though and when I searched for this question, the answers were equal to my code.

Maybe it has to do with the test cases:

  1. addFirstAndLast([2])
  2. addFirstAndLast([2, 2, 3])
  3. addFirstAndLast([])

Can you help me please?

You need to check if your list is empty or not.

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

The last test case passes an empty list. An empty list has neither [0] nor [-1] elements.

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

If your list is empty, then you do not have the first and the last elements. Try the following to solve your problem:

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

You can also try:

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

In your last case 3. addFirstAndLast([]) isnt there any index at [0] and [-1]

because the list is empty!

So you should make an example if x == []: return x

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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