Python. Методы работы со списками. Примеры

Методы работы со списками. Примеры


Содержание



1. Каким образом вызвать метод для работы со списком? Общая форма

Язык программирования Python предоставляет большой набор методов для обработки списков. Эти методы реализуют почти все необходимые преобразования или операции над списками.

Если задан список с некоторым именем, то метод обработки этого списка вызывается с помощью общей формы

ListName.MethodName(parameters)

где

  • ListName – название списка (объекта типа «список»);
  • MethodName – имя метода, который вызывается;
  • parameters – перечень параметров, разделенных запятой ‘ , ‘. Некоторые методы не имеют параметров.

Разделителем между именем списка и именем метода есть символ ‘ . ‘ (точка).

 

2. Примеры, демонстрирующие использование методов класса list при работе со списками
2.1. Метод append(). Добавление элемента к списку

Метод append() используется для добавления элемента к списку. Метод может получать только один параметр. Параметром метода может быть любой объект: число, строка, список и т.д.
Пример использования метода append()

# метод append() - добавление элементов к списку
# заданный список
A = [ 2, 3.78, 'abcde', True ]

# добавить 1 элемент к списку
A.append(7) # A = [2, 3.78, 'abcde', True, 7]
print("A = ", A)

# сформировать список квадратов чисел от 1 до 10
# с помощью метода append()
B = []
i = 1;
while i<=10:
    B.append(i*i)
    i=i+1

print("B = ", B)

Результат выполнения программы

A = [2, 3.78, 'abcde', True, 7]
B = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

 

2.2. Метод extend(). Расширение списка

Данный метод позволяет расширить список. Входным параметром метода есть другой список, который добавляется к данным. Список расширения может быть именованным объектом или списком, взятым в квадратные скобки [ ].

Пример программы, которая содержит метод extend()

# метод extend() - расширение списка
# заданы два списка
A = [ 2, 3.78, 'abcde', True ]
B = [ "Hello", 77, 1.84 ]

# расширить список A на величину списка B
A.extend(B) # A = [2, 3.78, 'abcde', True, 'Hello', 77, 1.84]
print("A = ", A)

# сформировать список квадратов чисел от 1 до 10
# с помощью метода extend()
D = []
i = 1;
while i<=10:
    D.extend([i*i]) # добавить список [i*i] к списку D
    i=i+1

print("D = ", D)

Результат выполнения программы

A = [2, 3.78, 'abcde', True, 'Hello', 77, 1.84]
D = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

 

2.3. Метод insert(). Вставка элемента в список в заданной позиции

Метод insert() позволяет вставить новый элемент в список из заданной позиции. Метод получает два параметра. Первый параметр – позиция вставки, которая начинается с 0. Второй параметр – имя объекта (значения), которое вставляется.
Пример использования метода insert()

# метод insert() - вставка одиночного элемента в список
# заданный список
A = [ 1, 2, 3, 4, 5]

# вставка в позицию 2 нового числа 777
A.insert(2, 777)

print("A = ", A)

# сформировать список квадратов чисел от 1 до 10
# с помощью метода insert()
D = []
i = 10;
while i>=1:
    D.insert(0, i*i)
    i=i-1

print("D = ", D)

Результат выполнения программы

A = [1, 2, 777, 3, 4, 5]
D = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

Метод insert() позволяет вставлять список в список. Например, если в вышеприведенной программе строку

A.insert(2, 777)

заменить на строку

A.insert(2, [777])

то в этом случае, список A будет следующим

A = [1, 2, [777], 3, 4, 5]

то есть, это есть обычное использование вложенных списков.

 

2.4. Метод index(). Определение индекса элемента в списке

Метод index() позволяет получить значение индекса (позиции) заданного элемента списка. Метод получает 1 параметр, который есть искомым элементом. Значение индекса, который соответствует первому элементу списка, равно 0.
Пример использования метода index()

# метод index()
# заданный список
A = [ 'a', 'b', 'c', 'd', 'e', 'f' ]
t = A.index('c') # t = 'c'
print("t = ", t)

Результат выполнения программы

t = 2

Если элемента нет в списке, то выдается сообщение об ошибке. Например, если в вышеприведенном коде строку

t = A.index('c')

заменить строкой

t = A.index('g') # t = 'c'

то интерпретатор Python выдаст сообщение об ошибке

ValueError: 'g' is not in list

 

2.5. Метод count(). Определение количества вхождений заданного элемента в списке

Метод count() возвращает количество вхождений заданного элемента в списке. Метод получает один параметр.

# метод count() - количество вхождений заданного элемента в списке
# заданный список
A = [ 'a', 'b', 'c', 'd', 'e', 'f' ]

na = A.count('d') # na = 1

B = [ 1, 3, 5, 3, 2, 4 ]
nb = B.count(3) # nb = 2

print("na = ", na)
print("nb = ", nb)

Результат выполнения программы

na = 1
nb = 2

 

2.6. Метод sort(). Сортировка списка

Метод sort() используется для сортировки списка. По умолчанию метод сортирует элементы списка в порядке возрастания значений. Метод может изменить порядок сортировки с помощью следующих именованных аргументов:

  • key – аргумент, который позволяет определить собственную функцию сравнения при вызове метода sort(). Эта функция получает один единственный аргумент и возвращает значение, которое будет использоваться в операции сравнения;
  • reverse – аргумент, который используется для указания порядка сортировки элементов. Если reverse=True, то элементы списка сортируются в порядке убывания.

Пример 1. Использование метода sort() для сортировки списка в порядке возрастания.

# метод sort() - сортировка списка
# заданный список
A = [ 'a', 'f', 'v', 'd', 'n', 'b' ]

# сортировка списка
A.sort()

B = [ 1, 3, 5, 10, 2, 8 ]
B.sort()

print("A = ", A)
print("B = ", B)

Выполнение программы дает следующий результат

A = ['a', 'b', 'd', 'f', 'n', 'v']
B = [1, 2, 3, 5, 8, 10]

Для того, чтобы использовать метод sort() все элементы списка должны быть или числовыми или строчными. Например, следующий код

# ошибка!
C = [ "Hello", "ABC", 7 ]
C.sort()

сгенерирует ошибку

TypeError: '<' not supported between instances of 'int' and 'str'

Пример 2. Сортировка списка в порядке убывания. Для того, чтобы список отсортировать в порядке убывания, нужно, чтобы значение именованного аргумента reverse было равным True. Приведенный ниже пример сортирует список C в порядке убывания элементов

# метод sort() - сортировка списка
# заданный список
C = [ 2, 3, 1, 5 ]
C.sort(reverse = True) # отсортировать в порядке убывания
print("C = ", C)

Результат выполнения программы

C = [5, 3, 2, 1]

Пример 3. Сортировка списка с заданным ключом key. В примере сортируются строки, которые предварительно приводятся к верхнему регистру: ‘aBc’ => ‘ABC’ функцией upper()

# метод sort() - сортировка списка с заданным ключом key
# заданный список строк
S = [ "aBC", "ABCD", "ab", "ABCC", "DEFf" ]

S2 = list(S) # создать новый список
S2.sort(key=str.upper) # отсортировать с ключом key

S3 = list(S) # еще один список
S3.sort(key=str.upper, reverse=True) # отсортировать с аргументами key и reverse

print("S = ", S)
print("S2 = ", S2)
print("S3 = ", S3)

Результат выполнения программы

S = ['aBC', 'ABCD', 'ab', 'ABCC', 'DEFf']
S2 = ['ab', 'aBC', 'ABCC', 'ABCD', 'DEFf']
S3 = ['DEFf', 'ABCD', 'ABCC', 'aBC', 'ab']

 

2.7. Метод reverse(). Реверсирование списка

Метод reverse() используется для изменения порядка следования элементов списка на обратный.
Пример использования метода

# метод reverse() - реверсирование списка
# заданы два списка
A = [ 1, 2, 3, 4, 5 ]
B = [ True, 7.78, 2.85, -1000, "bestprog.net" ]

# реверсирование списков
A.reverse()
B.reverse()

print("A = ", A)
print("B = ", B)

Результат выполнения программы

A = [5, 4, 3, 2, 1]
B = ['bestprog.net', -1000, 2.85, 7.78, True]

 

2.8. Метод pop(). Вытягивание элемента из списка

Метод pop() предназначен для вытягивания (удаления) элемента из списка. Метод имеет две реализации, которые отличаются количеством получаемых параметров:

  • реализация без параметров. В этом случае вытягивается последний элемент списка;
  • реализация с одним параметром. В этом случае параметр есть индексом элемента, который нужно вытянуть из списка. Первому элементу соответствует индекс 0.

Пример использования метода pop()

# метод pop() - уменьшение списка
# заданный список
A = [ 5, 3.8, True, False, "ABCD" ]

# удалить последний элемент
A.pop() # A = [5, 3.8, True, False]

print("A = ", A)

# удалить элемент с индексом 1
A.pop(1) # A = [5, True, False]

print("A = ", A)

Результат работы программы

A = [5, 3.8, True, False]
A = [5, True, False]

 

2.9. Метод remove(). Удаление заданного элемента из списка

Метод remove() удаляет заданный элемент из списка. Если в списке есть несколько элементов с указанным значением, то удаляется первое вхождение заданного элемента.
Пример использования метода remove()

# метод remove()
# заданный список
A = [ 5, 3.8, True, 3.8, True, False, "ABCD" ]

# удалить первый элемент, который равен True
A.remove(True)

# удалить первый элемент, который равен 3.8
A.remove(3.8)

print("A = ", A)

Результат работы программы

A = [5, 3.8, True, False, 'ABCD']

 


Связанные темы