Home >Backend Development >Python Tutorial >Summary of common methods for operating lists in Python

Summary of common methods for operating lists in Python

高洛峰
高洛峰Original
2016-10-19 11:48:571111browse

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]

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn