In this tutorial, we will discuss one of the most important Python datatypes. We will learn how to create, slice, add and remove a list.
So let's discuss Python List.
Table of Content:
- How to create a list
- How to access the elements from a list
- How to slice a list in Python
- How to add elements to a list
- How to remove an element from a list
- List methods
- List operation in Python
What is a List? How to create a list in Python?
A list is a mutable collection of different Python data types , and to create a list, we place all those different elements inside a square bracket [] and separate them with a comma (,).
Let’s create a list:
list_1 = [1,2,3,4,5,6,7]
list_2 = [1,"hello", "world", None, True]
we can even place a list inside a list
list_3 = [1,2,[3,4],"Hello"]
Access elements from a list
To access an element or value stored in a list can be accessed through indexing. Though when we initialize values inside the brackets [], and create the list, all those values are stored in contiguous memory locations, and an index number is associated with every value or element inside a list.
So indexing is a method of retrieving values from a list using the integers values. Conventional indexing starts with 0 and ends with a number less than the total number of elements inside a list. It means that the 0 index is associated with the first element of the list. If we try to access an element of a list that does not have a corresponding index number, then it will throw an Index error.
Syntax of accessing an element from a list
List_name [ index_number]
Let’s understand it with an example.
list_1 = [1,2,3,4,[6,7,8],"hello"]
print(list_1[0])
print(list_1[1])
print(list_1[2])
print(list_1[3])
print(list_1[4])
print(list_1[5])
#Output
1
2
3
4
[6, 7, 8]
Hello
Negative Indexing:
In Python, we can use a negative integer as indexing here -1 refers to the last element of the list, and so on.
Let’s understand it with an example:
list_1 = [1,2,"hello",None]
print(list_1[-1])
print(list_1[-3])
#Output
None
2
Python List Slicing:
In Python, you can control the sequence of elements and can access it. In list slicing, we can access a range of elements using indexing and colon.
Syntax of list slicing:
list_name[starting_index : ending_index]
Let’s understand it with an example:
list_1 = ["a","b","c","d","e","f","g"]
print(list_1 [2 : 5])
print(list_1[:])
#Output
['c', 'd', 'e']
['a', 'b', 'c', 'd', 'e', 'f', 'g']
Change or add elements to a list:
As we have defined that a list is a mutable collection by mutable mean that the values of the list can be altered with the assignment operator (=). And we can also add a new element in a predefined list using a method (a function) known as append(). append() add a new element at the last of the position of the list.
Syntax to perform append() method on a list
list_name.append(new_item)
Let’s understand it with an example:
my_list =["a",1,"b",2,"d",3]
my_list[4] = "c" #Here value d will change with c
my_list.append("d")
my_list.append(4)
print(my_list)
#Output
['a', 1, 'b', 2, 'c', 3, 'd', 4]
+ and * operator on a list
We use the + operator to concatenate 2 list and * operator to create a multiple copies of items present in the list.
Syntax of using + and * operator on a list:
list_1 + list_2
list_1 * any_natural_number
Let’s understand it with an example:
list_1 =[1,2,3,4]
list_2 =["a","b","c","d"]
list_3 = list_1 + list_2
print(list_3)
print(list_3 *3 )
#Output
[1, 2, 3, 4, 'a', 'b', 'c', 'd']
[1, 2, 3, 4, 'a', 'b', 'c', 'd', 1, 2, 3, 4, 'a', 'b', 'c', 'd', 1, 2, 3, 4, 'a', 'b', 'c', 'd']
To delete elements from a list
There is keyword known as del which we can use to delete the entire list or a specific element.
Let’s understand it with an example
list_2 =["a","b","c","d"]
del(list_2[2])
del (list_2[2])
print(list_2)
#Output
['a', 'b']
Apart from del keyword, there are many other methods associated with the list that helps in delete elements from a list such as pop() and remove().
List Methods :
In python, the list has some methods and these methods are:
append() - Add an element to the end of the list
extend() - Add all elements of a list to the another list
insert() - Insert an item at the defined index
remove() - Removes an item from the list
pop() - Removes and returns an element at the given index
clear() - Removes all items from the list
index() - Returns the index of the first matched item
count() - Returns the count of the number of items passed as an argument
sort() - Sort items in a list in ascending order
reverse() - Reverse the order of items in the list
copy() - Returns a shallow copy of the list.
List Comprehension:
A list comprehension a shorthand technique of creating a list using a for loop statement
Syntax of creating a list using list comprehension
list_name = [items for statement on items]
Let’s understand it with an example
list_1 = [x**2 for x in range(10)]
print(list_1)
#Output
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
In keyword with a list:
If we want to know whether an item is presented in the list or not to do so we use the in keyword with the list. If the item is present in the list, we get a Boolean value True if not we get False.
Let’s understand it with an example
my_list = [1,2,"a","b"]
print( "a" in my_list)
print( "c" in my_list)
#Output
True
False
List as an Iterable:
As we know that list is iterable, like string so we can also use a list with the for-loop statement so the for loop can iterate through it.
For example:
for i in [1,2,3,4,5]:
print(i)
#Output
1
2
3
4
5