Lists are just like dynamic sized arrays, declared in other languages (vector in C++ and ArrayList in Java). Lists need not be homogeneous always which makes it a most powerful tool in Python. A single list may contain DataTypes like Integers, Strings, as well as Objects. Lists are mutable, and hence, they can be altered even after their creation.
List in Python are ordered and have a definite count. The elements in a list are indexed according to a definite sequence and the indexing of a list is done with 0 being the first index. Each element in the list has its definite place in the list, which allows duplicating of elements in the list, with each element having its own distinct place and credibility.
Note- Lists are a useful tool for preserving a sequence of data and further iterating over it.
Table of content:
Creating a List
Lists in Python can be created by just placing the sequence inside the square brackets. Unlike Sets, list doesn’t need a built-in function for creation of list.
Note – Unlike Sets, list may contain mutable elements.
Blank List:  List of numbers: [10, 20, 14] List Items Geeks Geeks Multi-Dimensional List: [['Geeks', 'For'], ['Geeks']]
Creating a list with multiple distinct or duplicate elements
A list may contain duplicate values with their distinct positions and hence, multiple distinct or duplicate values can be passed as a sequence at the time of list creation.
List with the use of Numbers: [1, 2, 4, 4, 3, 3, 3, 6, 5] List with the use of Mixed Values: [1, 2, 'Geeks', 4, 'For', 6, 'Geeks']
Knowing the size of List
Adding Elements to a List
Elements can be added to the List by using built-in
append() function. Only one element at a time can be added to the list by using
append() method, for addition of multiple elements with the
append() method, loops are used. Tuples can also be added to the List with the use of append method because tuples are immutable. Unlike Sets, Lists can also be added to the existing list with the use of
Initial blank List:  List after Addition of Three elements: [1, 2, 4] List after Addition of elements from 1-3: [1, 2, 4, 1, 2, 3] List after Addition of a Tuple: [1, 2, 4, 1, 2, 3, (5, 6)] List after Addition of a List: [1, 2, 4, 1, 2, 3, (5, 6), ['For', 'Geeks']]
append() method only works for addition of elements at the end of the List, for addition of element at the desired position,
insert() method is used. Unlike
append() which takes only one argument,
insert() method requires two arguments(position, value).
Initial List: [1, 2, 3, 4] List after performing Insert Operation: ['Geeks', 1, 2, 3, 12, 4]
insert() methods, there’s one more method for Addition of elements,
extend(), this method is used to add multiple elements at the same time at the end of the list.
Note – append() and extend() methods can only add elements at the end.
Initial List: [1, 2, 3, 4] List after performing Extend Operation: [1, 2, 3, 4, 8, 'Geeks', 'Always']
Accessing elements from the List
In order to access the list items refer to the index number.Use the index operator [ ] to access an item in a list.The index must be an integer.Nested list are accessed using nested indexing.
Accessing a element from the list Geeks Geeks Acessing a element from a Multi-Dimensional list For Geeks
In Python, negative sequence indexes represent positions from the end of the array. Instead of having to compute the offset as in
List[len(List)-3], it is enough to just write
List[-3]. Negative indexing means beginning from the end, -1 refers to the last item, -2 refers to the second-last item, etc.
Accessing element using negative indexing Geeks For
Removing Elements from the List
Elements can be removed from the List by using built-in
function but an Error arises if element doesn’t exist in the set. Remove() method only removes one element at a time, to remove range of elements, iterator is used. The
remove() method removes the specified item.
Note – Remove method in List will only remove the first occurrence of the searched element.
Intial List: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] List after Removal of two elements: [1, 2, 3, 4, 7, 8, 9, 10, 11, 12] List after Removing a range of elements: [7, 8, 9, 10, 11, 12]
Pop() function can also be used to remove and return an element from the set, but by default it removes only the last element of the set, to remove element from a specific position of the List, index of the element is passed as an argument to the
List after popping an element: [1, 2, 3, 4] List after popping a specific element: [1, 2, 4]
Slicing of a List
In Python List, there are multiple ways to print the whole List with all the elements, but to print a specific range of elements from the list, we use Slice operation. Slice operation is performed on Lists with the use of a colon(:). To print elements from beginning to a range use [: Index], to print elements from end-use [:-Index], to print elements from specific Index till the end use [Index:], to print elements within a range, use [Start Index:End Index] and to print the whole List with the use of slicing operation, use [:]. Further, to print the whole List in reverse order, use [::-1].
Note – To print elements of List from rear end, use Negative Indexes.
Intial List: ['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S'] Slicing elements in a range 3-8: ['K', 'S', 'F', 'O', 'R'] Elements sliced from 5th element till the end: ['F', 'O', 'R', 'G', 'E', 'E', 'K', 'S'] Printing all elements using slice operation: ['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S']
Negative index List slicing
Initial List: ['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S'] Elements sliced till 6th element from last: ['G', 'E', 'E', 'K', 'S', 'F', 'O'] Elements sliced from index -6 to -1 ['R', 'G', 'E', 'E', 'K'] Printing List in reverse: ['S', 'K', 'E', 'E', 'G', 'R', 'O', 'F', 'S', 'K', 'E', 'E', 'G']
|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 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 copy of the list|
Built-in functions with List
|reduce()||apply a particular function passed in its argument to all of the list elements stores the intermediate result and only returns the final summation value|
|sum()||Sums up the numbers in the list|
|ord()||Returns an integer representing the Unicode code point of the given Unicode character|
|cmp()||This function returns 1, if first list is “greater” than second list|
|max()||return maximum element of given list|
|min()||return minimum element of given list|
|all()||Returns true if all element are true or if list is empty|
|any()||return true if any element of the list is true. if list is empty, return false|
|len()||Returns length of the list or size of the list|
|enumerate()||Returns enumerate object of list|
|accumulate()||apply a particular function passed in its argument to all of the list elements returns a list containing the intermediate results|
|filter()||tests if each element of a list true or not|
|map()||returns a list of the results after applying the given function to each item of a given iterable|
|lambda()||This function can have any number of arguments but only one expression, which is evaluated and returned.|
More videos on Python Lists: