Last Updated on 2021-10-11 by Clay
List is a most basic data structure in Python, every element can be a value, string or boolean. Every element has its index, counting from 0.
Today I want to record how to operate List in Python. I will introduce it into the following subsections:
- Initialize a List
- Access the elements of List
- Update the elements of List
- Delete the elements of List
- Common methods of operation in List
Initialize a List
If we want to create a List, we can use list()
or []
to built it; If you want to initialize the elements in the List, you can directly fill them in square brackets.
It is worth noting that not all the elements of List in Python have the same data type.
Such as the following sample code, you can put both integers and strings at the same time.
Each element needs to be separated by a comma ,
.
List_1 = list()
List_2 = []
List_3 = [1, 2, "hello"]
print("List_1:", List_1)
print("List_2:", List_2)
print("List_3:", List_3)
Output:
List_1: []
List_2: []
List_3: [1, 2, 'hello']
Access the elements of List
If you want to print out the elements in the List, you can use for
to get the element value; but in addition, you can also use index to print out the corresponding elements one by one.
In Python, if there is no judgment related to the index, it is recommended to obtain the element value directly, the execution efficiency of the program is better.
List = [1, 2, "hello"]
# Method 1
for element in List:
print(element)
# Method 2
for i in range(len(List)):
print(List[i])
Output:
1
2
hello
1
2
hello
As you can see, both of two ways can print all elements of List.
After learning how to print out elements, let's take a look at other access techniques for List in Python.
- If the index value out of List length, you will get an error message about:
IndexError: list index out of range
- You can use a negative index, which will access the element of the List from the end
:
is a symbol for traversing all element values. If you usen:m
to access the List, then you will get from the element at indexn
to the element at indexm-1
List = [1, 2, "hello"]
print("List:", List)
print("List[-1]:", List[-1])
print("List[1:]:", List[1:])
print("List[-2:]:", List[-2:])
print("List[3]:", List[3])
Output:
List: [1, 2, 'hello']
List[-1]: hello
List[1:]: [2, 'hello']
List[-2:]: [2, 'hello']
Traceback (most recent call last):
File "/Users/clay/Projects/PythonProjects/python_children_edu/try.py", line 7, in <module>
print("List[3]:", List[3])
IndexError: list index out of range
There are many things that can be studied here, please feel free to try different writing methods, I believe that the use of Python List will be more handy.
Update the elements of List
To update elements of List is very easy, just need to assign a new value to the element at the specified index.
List = [1, 2, "hello"]
# Update
List[2] = 3
print(List)
Output:
[1, 2, 3]
Delete the elements of List
You can use del
command to delete the elements of List.
List = [1, 2, "hello"]
# Delete
del List[0]
print(List)
Output:
[2, 'hello']
Common methods of operation in List
There are many common operation methods in List, including:
list.append(x)
: Add a new element to the end of the listlist.extend(iterable)
: Add a new iterable object to the end of the listlist.insert(i, x)
: Insert a new element at a specific index ilist.remove(x)
: Remove the element whose first item value is x in the listlist.pop([i])
: Remove the element at the specified index in the List and return it. If no index is specified, delete the last item in the return listlist.clear()
: Clear whole Listlist.index(x)
: Return the index of first element xlist.count(x)
: Count how many elements in the list are xlist.sort(reverse=False)
: Sort the elements in the listlist.reverse()
: Reverse the elements in the listlist.copy()
: Return a shallow copy of the List
list.append(x)
List = [1, 2, 3]
# Append
List.append(4)
print(List)
Output:
[1, 2, 3, 4]
list.extend(iterable)
List = [1, 2, 3]
iterable = [4, 5, 6]
# Extend
List.extend(iterable)
print(List)
Output:
[1, 2, 3, 4, 5, 6]
list.insert(i, x)
List = [1, 2, 3]
# Insert
List.insert(1, 1.5)
print(List)
Output:
[1, 1.5, 2, 3]
list.remove(x)
List = [1, 2, 3]
# Remove
List.remove(2)
print(List)
Output:
[1, 3]
list.pop([i])
List = [1, 2, 3]
# Pop
List.pop()
print(List)
Output:
[1, 2]
list.clear()
List = [1, 2, 3]
# Clear
List.clear()
print(List)
Output:
[]
list.index(x)
List = [1, 2, 3]
# Index
print(List.index(3))
Output:
2
list.count(x)
List = [1, 2, 3]
# Count
print(List.count(3))
Output:
1
list.sort()
reverse=False
: From small to largereverse=True
: From large to small
List = [1, 2, 3]
# Sort
List.sort(reverse=True)
print(List)
Output:
[3, 2, 1]
list.reverse()
List = [1, 2, 3]
# Reverse
List.reverse()
print(List)
Output:
[3, 2, 1]
list.copy()
If you use assign instead of list.copy()
, the elements of Lists shared the same memory address; the disadvantage is that if you change the original List, the elements under the List you assign will also change.
This is a very common error in Python.
Let's take a look at an example of comparison:
List = [1, 2, 3]
# Copy
List_assign = List
List_copy = List.copy()
# Change element
List[1] = 20
print("List:", List)
print("List_assign:", List_assign)
print("List_copy:", List_copy)
Output:
List: [1, 20, 3]
List_assign: [1, 20, 3]
List_copy: [1, 2, 3]
References
- https://docs.python.org/3/tutorial/datastructures.html
- https://www.programiz.com/python-programming/list
- https://www.w3schools.com/python/python_lists.asp