Home >Backend Development >Python Tutorial >Summary of common methods for operating lists in Python
The following is a list of commonly used methods to operate lists and small examples:
1. Append
To add elements at the end of the list, you need to add elements at the end of the list. You need to pay attention to a few points:
A. The parameters added in append are As a whole
>>> name = list("scott")
>>> name
['s', 'c', 'o', 't', 't']
> >> name.append(list("tiger"))
>>> name
['s', 'c', 'o', 't', 't', [' ', 't', 'i', 'g', 'e', 'r']]
The value obtained is not: ['s', 'c', 'o', 't', 't', ' ', 't ', 'i', 'g', 'e', 'r']
If you want this way of appending, you can try slice assignment (or the extend method mentioned below):
>>> name = list("scott")
>>> name
['s', 'c', 'o', 't', 't']
>>> name[len(name):] = list("tiger") #Append
>>> from the end name
['s', 'c', 'o', 't', 't', ' ', 't', 'i' , 'g', 'e', 'r']
B.append can only add one element at a time
>>> name = list("scott")
>>> name
['s' , 'c', 'o', 't', 't']
>>> name.append("A","B") #Add multiple elements and an error will be reported
Traceback (most recent call last) :
File "", line 1, in ?
TypeError: append() takes exactly one argument (2 given)
>>> name.append("A")
>>> name
[' s', 'c', 'o', 't', 't', 'A']
2. Count
Count the number of times an element appears in the list
>>> name = list ("scott")
>>> name
['s', 'c', 'o', 't', 't']
>>> name.count('s')
> >> name.count("t")
>>> name.count("A")
>>> name.append(list("Python"))
>>> name
['s ', 'c', 'o', 't', 't', ['P', 'y', 't', 'h', 'o', 'n']]
>>> name .count(['P', 'y', 't', 'h', 'o', 'n'])
3. Extend
Append multiple values in another sequence to the original list
>>> name = list("scott")
>>> name
['s', 'c', 'o', 't', 't']
>>> name.extend (list("tiger"))
>>> name
['s', 'c', 'o', 't', 't', ' ', 't', 'i', 'g ', 'e', 'r']
Of course, we can use slice assignment to achieve this:
>>> name = list("scott")
>>> name
['s', ' c', 'o', 't', 't']
>>> name[len(name):] = list("tiger")
>>> name
['s', 'c ', 'o', 't', 't', ' ', 't', 'i', 'g', 'e', 'r']
At this time, friends will think that we can directly It is more convenient to use the operator "+":
>>> name = list("scott")
>>> pwd = list("tiger")
>>> name + pwd
[' s', 'c', 'o', 't', 't', ' ', 't', 'i', 'g', 'e', 'r']
>>> name
['s', 'c', 'o', 't', 't']
From the output of these three operations, it can be seen that:
extend and slice assignment both modify the original list, relatively Generally speaking, extend is more readable, and the operator "+" generates a new list without affecting the original list. If we need to generate a new list without affecting the original list, we can use the operator "+" .
4.Index
Find the index position of the first (note the first) matching item of a certain value from the list
>>> name = list("scott")
>>> name
['s', 'c', 'o', 't', 't']
>>> name.index('t') ##The index position of the first letter t is 3
>>> name.index('a')
Traceback (most recent call last):
File "", line 1, in ?
ValueError: list.index(x): x not in list
>>> 'a' in name
False
>>> 'a' not in name
True
As can be seen from the output, index is looking for the index position of the first matching item, and if If the element being searched is not in the list, an error will be reported (would it be better to return -1?). Of course, if we want to avoid reporting an error, we can first use the in operation to determine whether an element is in a list. If If so, then perform the index operation.
5. Insert
is used to insert objects into the list, with two parameters, the first is the index position, and the second is the inserted element object.
>>> name = list("scott")
>>> name
['s', 'c', 'o', 't', 't']
>>> name.insert(2,'tiger') ##At index 2 Insert the string tiger where
>>> name
['s', 'c', 'tiger', 'o', 't', 't']
We can also use slice assignment:
>>> name = list("scott")
>>> name
['s', 'c', 'o', 't', 't']
>>> name[2:2 ] = ['tiger']
>>> name
['s', 'c', 'tiger', 'o', 't', 't']
>>> name[2:2 ] = 'tiger'
>>> name
['s', 'c', 't', 'i', 'g', 'e', 'r', 'tiger', 'o', 't', 't']
What needs to be noted here is that if you are inserting an element, it needs to be enclosed in []. Otherwise, if you use a string directly, you will insert a list of strings and add it after the index position.
Of course, insert is more readable than slice assignment.
6. Pop
Remove an element (the last element) from the list and return the value of the element
>>> name = list("scott")
>>> name
[ 's', 'c', 'o', 't', 't']
>>> name.pop()
't'
>>> name
['s', 'c ', 'o', 't']
>>> name.append("t")
>>> name
['s', 'c', 'o', 't', 't ']
Slice assignment simulation pop:
>>> name = list("scott")
>>> name
['s', 'c', 'o', 't', 't ']
>>> name[len(name)-1:] = []
>>> name
['s', 'c', 'o', 't']
Used above pop and append simulate the first-in-first-out LIFO of the stack.
7. Remove
Remove the first matching item of a certain value in the list: If there are two equal elements, just remove the matching element. If an element does not exist in a list, it will An error is reported, and only one element can be removed at a time.
>>> name = list("scott")
>>> name
['s', 'c', 'o', 't', 't']
>>> name.remove ("t") #Remove the first t
>>> name
['s', 'c', 'o', 't']
>>> name.remove("A") # If it does not exist, an error will be reported
Traceback (most recent call last):
File "", line 1, in ?
ValueError: list.remove(x): x not in list
>>> "A" not in name
True
>>> name.remove("s","c") #Only one element can be removed at a time
Traceback (most recent call last):
File "", line 1, in ?
TypeError: remove() takes exactly one argument (2 given)
8.Revense
Reverse the elements in the list
>>> name = list("scott")
>>> name
['s', 'c', 'o', 't', 't']
>>> name.reverse()
>>> name
['t', 't', 'o', 'c', 's']
9. Sort & Sorted
The sort method is used to sort the list, modify the original list, and will not return a sorted copy of the list
>>> result = [8,5,5,3,9]
>>> result.sort()
>>> result
[3, 5, 5, 8, 9]
If we want to return a A copy of the sorted list without affecting the original list. One way is to assign the original list first (you can use slice assignment to copy it), and then
perform the sort operation on the copied list. Another way is, Just use the sorted function, which returns a sorted copy of the list:
>>> result = [8,5,5,3,9]
>>> result2 = sorted(result)
>>> result
[8, 5, 5, 3, 9]
>>> result2
[3, 5, 5, 8, 9]