Python3 List
Sequences are the most fundamental data structures in Python.
Each value in a sequence has a corresponding position value, called an index. The first index is 0, the second index is 1, and so on.
Python has 6 built-in sequence types, but the most common are lists and tuples.
Operations that can be performed on lists include indexing, slicing, adding, multiplying, and checking membership.
Additionally, Python has built-in methods to determine the length of a sequence and to find the maximum and minimum elements.
Lists are the most commonly used data type in Python and can appear as comma-separated values within square brackets.
The items in a list do not need to be of the same type.
To create a list, simply enclose comma-separated different items within square brackets. For example:
list1 = ['Google', 'tutorialpro', 1997, 2000]
list2 = [1, 2, 3, 4, 5]
list3 = ["a", "b", "c", "d"]
list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
Accessing Values in Lists
Like string indices, list indices start at 0
, with the second index being 1
, and so on.
Lists can be sliced and combined using their indices.
Example
#!/usr/bin/python3
list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print(list[0])
print(list[1])
print(list[2])
Output:
red
green
blue
Indices can also start from the end of the list, with the last element's index being -1
, the second to last being -2
, and so on.
Example
#!/usr/bin/python3
list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print(list[-1])
print(list[-2])
print(list[-3])
Output:
black
white
yellow
You can access values in lists using subscript indices, and you can also slice characters using square brackets []
, as shown below:
Example
#!/usr/bin/python3
nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print(nums[0:4])
Output:
[10, 20, 30, 40]
Using negative index values for slicing:
Example
#!/usr/bin/python3
list = ['Google', 'tutorialpro', "Zhihu", "Taobao", "Wiki"]
# Read the second item
print("list[1]: ", list[1])
# Slice from the second item (inclusive) to the second to last item (exclusive)
print("list[1:-2]: ", list[1:-2])
Output:
list[1]: tutorialpro
list[1:-2]: ['tutorialpro', 'Zhihu']
Updating Lists
You can modify or update the data items in a list, and you can also use the append() method to add items to the list, as shown below:
Example (Python 3.0+)
#!/usr/bin/python3
list = ['Google', 'tutorialpro', 1997, 2000]
print("The third element is: ", list[2])
list[2] = 2001
print("The updated third element is: ", list[2])
list1 = ['Google', 'tutorialpro', 'Taobao']
list1.append('Baidu')
print("The updated list is: ", list1)
Note: We will discuss the use of the append() method in the next chapter.
Output:
The third element is: 1997
The updated third element is: 2001
The updated list is: ['Google', 'tutorialpro', 'Taobao', 'Baidu']
Deleting List Elements
You can use the del statement to remove elements from a list, as shown in the following example:
Example (Python 3.0+)
#!/usr/bin/python3
list = ['Google', 'tutorialpro', 1997, 2000]
print("Original list: ", list)
del list[2]
print("After deleting the third element: ", list)
Output:
Original list: ['Google', 'tutorialpro', 1997, 2000]
After deleting the third element: ['Google', 'tutorialpro', 2000]
Original list: ['Google', 'tutorialpro', 1997, 2000] Remove the third element: ['Google', 'tutorialpro', 2000]
Note: We will discuss the use of the remove() method in the following sections.
Python List Script Operators
Lists support operators similar to strings for concatenation and repetition. The + operator is used to combine lists, and the * operator is used to repeat lists.
Here are some examples:
Python Expression | Result | Description |
---|---|---|
len([1, 2, 3]) | 3 | Length |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | Concatenation |
['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | Repetition |
3 in [1, 2, 3] | True | Element existence check |
for x in [1, 2, 3]: print(x, end=" ") | 1 2 3 | Iteration |
Python List Slicing and Concatenation
Python lists support slicing similar to strings. Here are some examples:
L = ['Google', 'tutorialpro', 'Taobao']
Operations:
Python Expression | Result | Description |
---|---|---|
L[2] | 'Taobao' | Access the third element |
L[-2] | 'tutorialpro' | Access the second-to-last element from the right |
L[1:] | ['tutorialpro', 'Taobao'] | Output all elements starting from the second |
>>> L = ['Google', 'tutorialpro', 'Taobao']
>>> L[2]
'Taobao'
>>> L[-2]
'tutorialpro'
>>> L[1:]
['tutorialpro', 'Taobao']
>>>
Lists also support concatenation:
>>> squares = [1, 4, 9, 16, 25]
>>> squares += [36, 49, 64, 81, 100]
>>> squares
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>>
Nested Lists
Nested lists involve creating lists within lists, for example:
>>> a = ['a', 'b', 'c']
>>> n = [1, 2, 3]
>>> x = [a, n]
>>> x
[['a', 'b', 'c'], [1, 2, 3]]
>>> x[0]
['a', 'b', 'c']
>>> x[0][1]
'b'
List Comparisons
List comparisons require the eq
method from the operator
module (see Python operator module for details):
# Import the operator module
import operator
a = [1, 2]
b = [2, 3]
c = [2, 3]
print("operator.eq(a,b): ", operator.eq(a,b))
print("operator.eq(c,b): ", operator.eq(c,b))
Output:
operator.eq(a,b): False
operator.eq(c,b): True
Python List Functions & Methods
Python includes the following functions:
Number | Function |
---|---|
1 | len(list) <br>List length |
2 | max(list) <br>Return the maximum element |
3 | min(list) <br>Return the minimum element |
4 | list(seq) <br>Convert a tuple to a list |
Python includes the following methods:
Number | Method |
---|---|
1 | list.append(obj) <br>Append an object to the end of the list |
2 | list.count(obj) <br>Count the occurrences of an element in the list |
3 | list.extend(seq) <br>Add multiple values from another sequence to the end of the list (extend the original list with a new list) |
4 | list.index(obj) <br>Find the index of the first occurrence of a value in the list |
5 | list.insert(index, obj) <br>Insert an object into the list at a specified index |
6 | list.pop([index=-1]) <br>Remove an element from the list (default is the last element) and return its value |
7 | list.remove(obj) <br>Remove the first occurrence of a value from the list |
8 | list.reverse() <br>Reverse the elements of the list |
9 | list.sort( key=None, reverse=False) <br>Sort the list in place |
10 | list.clear() <br>Clear the list |
11 | list.copy() <br>Copy the list |