Search code examples
pythonlistif-statementis-empty

How to ignore if a value is not present inside a list using python?


I have an error w.r.t list inside a list. I am trying to assign the elements to a variable. So whatever I insert in those list inside the list it will get assigned to those variables. Like show below

list = [[1, 2], [2, 3], [4, 5]]
car = list[0]
bike = list[1]
cycle = list[3]

Now, suppose I won't give a value for the 3rd list(like shown below). Then I will get an error:

list[[1, 2], [2, 3]]
car = list[0]
bike = list[1]
cycle = list[3]

Error message: List index out of range

So, I wrote a condition which should ignore it. But I am getting a error. How to ignore if the values is not given?

My code:

if list[0] == []:
    continue
else:
    car = list[0]
if list[1] == []:
    bike = list[1]
if list[2] == []:
    cycle = list[2]

SyntaxError: 'continue' not properly in loop

Where am I going wrong? How to give an if condition if there is no list in it? Did I give it correctly?


Solution

  • If I understood your problem correctly, what you're looking for is a try/except statement. This allows you to do as follows:

    try:
        car = list[0]
        bike = list[1]
        bike = list[2]
    except IndexError:
        pass
    

    This code allows you to execute the block "try" until there's an exception, and if an error is catched you just continue the loop. For example you could put something like this inside a for loop as follows:

    for list in my_list_of_lists:
        try:
            car = list[0]
            bike = list[1]
            bike = list[2]
        except IndexError:
            continue
    

    finally, regarding this

    SyntaxError: 'continue' not properly in loop

    if you use the break/continue/pass statements they should always be inside a for or while loop, as I've shown above.