I can do it like this but there has to be better way:

arr = []if len(arr) > 0:first_or_None = arr[0]else:first_or_None = None

If I just do arr[0] I get IndexError.Is there something where I can give default argument?

2

Best Answer


I think the example you give is absolutely fine - it is very readable and would not suffer performance issues.

You could use the ternary operator python equivalent, if you really want it to be shorter code:

last_or_none = arr[0] if len(arr) > 0 else None

In Python, you can easily get the first element of a list by using indexing. The index of the first element in a list is 0. To access it, you can simply use the syntax list_name[0].

Here's an example:

my_list = [1, 2, 3, 4, 5]first_element = my_list[0]print(first_element)

This will output 1, which is the first element of the my_list.

It's important to note that if the list is empty, trying to access the first element will result in an IndexError. To avoid this, you can check if the list is empty before accessing the first element.

Here's an example:

my_list = []if len(my_list) > 0:first_element = my_list[0]print(first_element)else:print('The list is empty.')

In this case, since the my_list is empty, the output will be The list is empty.