Документация по Python. Теоретические материалы, и практические задачи

Методы списка python

В этой статье собраны практически все методы списка python. Если какой-то метод отсутствует, сообщите пожалуйста в комментариях.

Python list append

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

                    
currencies = ['Dollar', 'Euro', 'Rub']

# Добавление в список
currencies.append('Yen')

print(currencies)

# Результат: ['Dollar', 'Euro', 'Rub', 'Yen']

Принимаемые параметры

Метод append() принимает один единственный аргумент

  • item — элемент, который может быть числом, строкой, или списком. Все добавляемые элементы, добавляются в конец списка.

Пример 1. Добавление элемента в список

Выше мы уже рассмотрели один небольшой пример, но как мы уже знаем, практика никогда не бывает лишней.

                    
# Список животных
animals = ['cat', 'dog', 'rabbit']

# Добавление нового животного в список
animals.append('guinea pig')

print('Обновленный список животных: ', animals)

Пример 2. Добавление списка в список

Выше, в принимаемых параметрах, мы с вами определили, что список может принимать другой список.

                    
# Список домашних животных
animals = ['cat', 'dog', 'rabbit']

# Список диких животных
wild_animals = ['tiger', 'fox']

# Добавление списка диких животных
animals.append(wild_animals)

print('Обновленный список животных: ', animals)

Необходимо отметить один момент. Бывают ситуации, когда нам надо добавить в список элементы из списка, а не сам список, в такой момент, можно воспользоваться методом extend(), о котором мы поговорим ниже.

List extend

Метод extend() в отличии от метода append(), добавляет элементы списка, в список.  Так же как и при использовании метода append(), метод extend() добавляет новые элементы в конец списка.

  • Метод extend() добавляет элементы списка в другой список
  • Метод append() добавляет список, в другой список
                    
# Список 1
prime_numbers = [2, 3, 5]

# Список 2
numbers = [1, 4]

# Добавляем все элементы prime_numbers в numbers
numbers.extend(prime_numbers)

print('Обновленный список:', numbers)

# Результат: После метода extend(): [1, 4, 2, 3, 5]

Принимаемые параметры

Метод extend() так же как и метод append() принимает следующие параметры:

Пример 1. Используем метод extend()

                    
# Список языков
languages = ['French', 'English']

# Другой список языков
languages1 = ['Spanish', 'Portuguese']

# Добавляем languages1 в список languages
languages.extend(languages1)

print('Обновленный список:', languages)

Пример 2. Добавляем в список кортежи и множества

                    
# Список
languages = ['French']

#Кортеж
languages_tuple = ('Spanish', 'Portuguese')

# Множества
languages_set = {'Chinese', 'Japanese'}

# Добавляем в список кортеж
languages.extend(languages_tuple)

print('Обновленный список:', languages)

# Добавляем множества в наш список
languages.extend(languages_set)

print('Обновленный список:', languages)

#Результат
New Languages List: ['French', 'Spanish', 'Portuguese']
Newer Languages List: ['French', 'Spanish', 'Portuguese', 'Japanese', 'Chinese']

Выше мы рассмотрели классические варианты использование данного метода, но так же есть и другие варианты использования расширения списков.

Пример 3. Оператор «+»

Максимально простой способ.

                    
a = [1, 2]
b = [3, 4]

a += b    # a = a + b

# Output: [1, 2, 3, 4]
print('a =', a)
#Результат
a = [1, 2, 3, 4]

Пример 4. Срез и объединение

                    
a = [1, 2]
b = [3, 4]

a[len(a):] = b

# Результат: [1, 2, 3, 4]
print('a =', a)

Python list insert

Списки в python, являются довольно гибким инструментом. Метод insert(), позволяет добавлять элементы между текущими элементами списка. Рассмотрим небольшой пример.

                    
# Открываем список
vowel = ['a', 'e', 'i', 'u']

# передаем позицию, и вставляемый элемент
vowel.insert(3, 'o')

print('Список:', vowel)

# Результат: List: ['a', 'e', 'i', 'o', 'u']

Синтаксис метода insert()

Достаточно просто в использовании метод, ниже представлен его синтаксис.

                    
list.insert(i,элемент)

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

  • Если i равен 0 — то элемент будет вставлен в начало списка
  • Если i равен 3 — то элемент будет вставлен в 4-ю позицию

Пример 1. вставка элемента в список

                    
# Список с числами
prime_numbers = [2, 3, 5, 7]

#Добавляем число 11 в 4ю позицию
prime_numbers.insert(4, 11)

print('List:', prime_numbers)

# Результат
List: [2, 3, 5, 7, 11]

Пример 2. вставка кортежа в список

                    
mixed_list = [{1, 2}, [5, 6, 7]]

# Кортеж с числами
number_tuple = (3, 4)

# вставляем элементы кортежа в список
mixed_list.insert(1, number_tuple)

print('Обновленный список:', mixed_list)

#Результат
Обновленный список: [{1, 2}, (3, 4), [5, 6, 7]]

List remove python

Метод remove() используется для удаления элементов из списка. Данный метод удаляет первый соответствующий переданному аргументу элемент списка.

                    
# Открываем список
prime_numbers = [2, 3, 5, 7, 9, 11]

# Удаляем 9
prime_numbers.remove(9)


# Печатаем список
print('Обновленный список: ', prime_numbers)

# Результат: Обновленный список:  [2, 3, 5, 7, 11]

Параметры метода remove()

  • remove() принимает один элемент, и удаляет этот элемент  из списка, если он там есть
  • В случае если элемент отсутствует, мы получим ошибку ValueError:list.remove(x): x not in list

Пример 1. удаляем элемент из списка

                    
# Список животных
animals = ['cat', 'dog', 'rabbit', 'guinea pig']

# 'rabbit' удаляем
animals.remove('rabbit')

# Печатаем список
print('Обновленный список: ', animals)

#Результат

Updated animals list:  ['cat', 'dog', 'guinea pig']

Пример 2. Удаление из списка, в котором есть повторяющиеся элементы

                    
# Список животных
animals = ['cat', 'dog', 'dog', 'guinea pig', 'dog']

# 'dog' удаляем
animals.remove('dog')


# Обновляем список
print('Обновленный список: ', animals)

#Результат
Обновленный список:  ['cat', 'dog', 'guinea pig', 'dog']

В случаем, если мы пытаемся удалить методом remove() повторяющиеся элементы списка, мы получим удаление только первого вхождения.

Пример 3. Удаляем несуществующий элемент

                    
# Список животных
animals = ['cat', 'dog', 'rabbit', 'guinea pig']

# Удаляем 'fish' элемент
animals.remove('fish')

# Обновленный список
print('Обновленный список: ', animals)

#Результат
Traceback (most recent call last):
  File ".. .. ..", line 5, in 
    animal.remove('fish')
ValueError: list.remove(x): x not in list

Конечно, при попытке удаления несуществующего элемента мы получим ошибку.

  • Бывают случаи, когда нам надо удалить элементы по индексу, а не по названию. В таком случае, можно воспользоваться метом pop().
  • Так же, не забываем и про метод del()

Python List count

Метод count() — является довольно удобной штукой, для подсчета количества повторений элемента в списке.

                    
# Список с числами
numbers = [2, 3, 5, 2, 11, 2, 7]

# Проверяем повторение элемента 2
count = numbers.count(2)

print('Элемент 2 повторяется:', count)

# Результат:Элемент 2 повторяется: 3

Параметры и синтаксис метода cont()

Синтаксис у данного метода довольно простой:

                    
list.count(элемент)

Параметры метода count()

Метод count() принимает только один параметр:

  • Элемент — элемент, который необходимо подсчитать на количество повторений

Пример 1. Используем count()

                    
# Список букв
vowels = ['a', 'e', 'i', 'o', 'i', 'u']

# Считаем элемент 'i'
count = vowels.count('i')

# Печатаем результат подсчета
print('Количество элементов i :', count)

# Считаем элемент 'p'
count = vowels.count('p')

# Печатаем результат подсчета
print('Количество элементов p :', count)

#Результат
Количество элементов i: 2
Количество элементов p: 0

Python List pop

Метод pop() работает следующим образом:

  • Передаем методу pop() индекс удаляемого элемента из списка
  • Элемент удаляется, и метод pop() возвращает нам значение удаленного элемента
                    
# Список чисел
prime_numbers = [2, 3, 5, 7]

# Удаляем элемент с индексом 2
removed_element = prime_numbers.pop(2)

print('Удаленный элемент', removed_element)

# Результат: Удаленный элемент: 5

Параметры метода pop()

  • Метод pop() принимает индекс удаляемого элемента, в качестве аргумента
  • Передавать аргумент методу pop(), необязательно. В случае, если аргумент не передан, то, по умолчанию передается индекс -1, что в Python является индекс последнего элемента списка.
  • В случае, если переданный индекс находится вне диапазона, мы получим ошибку IndexError: pop index out of range

Пример 1. Удаляем по заданному индексу

                    
# Список языков программирования
languages = ['Python', 'Java', 'C++', 'French', 'C']

# Удаляем 4ый элемент
return_value = languages.pop(3)

print('Значение:', return_value)

# Updated List
print('Обновленный список:', languages)

#Результат
Return Value: French
Updated List: ['Python', 'Java', 'C++', 'C']

Пример 2. Удаляем без передачи индекса

                    
# Список языков программирования
languages = ['Python', 'Java', 'C++', 'Ruby', 'C']

# Удаляем последний элемент/возвращаем значение
print('When index is not passed:') 
print('Return Value:', languages.pop())
print('Updated List:', languages)

# Удаляем последний элемент/возвращаем значение
print('\nWhen -1 is passed:') 
print('Return Value:', languages.pop(-1))

print('Updated List:', languages)

# Удаляем 3 с конца элемент/возвращаем значение
print('\nWhen -3 is passed:') 
print('Return Value:', languages.pop(-3))

print('Updated List:', languages)

#Результат
When index is not passed:
Return Value: C
Updated List: ['Python', 'Java', 'C++', 'Ruby']

When -1 is passed:
Return Value: Ruby
Updated List: ['Python', 'Java', 'C++']

When -3 is passed:
Return Value: Python
Updated List: ['Java', 'C++']

Так же не забывайте о методах del(), remove(). Данные элементы так же прекрасно и по своему справляются с удалением элементов из списка.

Python List reverse

По названию данного метода, думаю вам уже понятно для чего он предназначен. Метод reverse() меняет элементы в обратном порядке.

                    
prime_numbers = [2, 3, 5, 7]
prime_numbers.reverse()

print('Reversed List:', prime_numbers)

# Результат: Список в обратном порядке: [7, 5, 3, 2]

Синтаксис и параметры метода reverse()

Синтаксис как и у других методов списка, достаточно простой, и выглядит следующим образом:

  • reverse() — не принимает никаких аргументов
  • reverse() — не возвращает ничего. Он обновляет существующий список.

Пример 1. Список в обратном порядке

                    
# Список с ОС
systems = ['Windows', 'macOS', 'Linux']
print('Оригинальный список:', systems)

# Список reverse
systems.reverse()

# Обновленный список
print('Обновленный список:', systems)

#Результат
Оригинальный список: ['Windows', 'macOS', 'Linux']
Обновленный список: ['Linux', 'macOS', 'Windows']

В этом примере, мы рассмотрели работу метода reverse(), но в Python существуют несколько способов изменения порядка элементов в списке.

Пример 2. Переворачиваем список, с помощью срезов

                    
# Список с ОС
systems = ['Windows', 'macOS', 'Linux']
print('Оригинальный список:', systems)

# Переворачиваем список
# Синтаксис: reversed_list = systems[start:stop:step] 
reversed_list = systems[::-1]

# Обновленный список
print('Updated List:', reversed_list)

#Результат
Original List: ['Windows', 'macOS', 'Linux']
Updated List: ['Linux', 'macOS', 'Windows']

Более подробно про нарезку/срезы.

Python List copy

Метод copy(), копирует нужный нам список. Все достаточно просто.

                    
prime_numbers = [2, 3, 5]

numbers = prime_numbers.copy()

print('Copied List:', numbers)

# Результат: Скопированный список: [2, 3, 5]

Синтаксис и параметры copy()

  • Copy() — Не принимает никаких параметров
  • Copy() —  Возвращает новый список. Новый, неизмененный список

Конечно, в python так же предусмотрены и другие методы копирования, ниже приведу небольшой пример того, как можно скопировать список с помощью оператора «=»

Копируем список с помощью оператора «=»

                    
old_list = [1, 2, 3]
new_list = старый список

Но, хочу вас предупредить, по факту, если мы изменим оригинальный список, то у нас так же изменится скопированный. Такое явление происходит из за того, что новый объект списка, ссылается на старый, и отслеживает его состояние.

                    
old_list = [1, 2, 3]

new_list = old_list

# Добавляем новый элемент
new_list.append('a')

print('Новый список:', new_list)
print('Старый список:', old_list)

Python List index

Метод index() возвращает индекс того или иного элемента в списке. Рассмотрим небольшой пример.

                    
animals = ['cat', 'dog', 'rabbit', 'horse']

# передаем методу 'dog'
index = animals.index('dog')
print(index)

# Результат: 1

Синтаксис и параметры метода index()

                    
list.index(element, start, end)

Параметры index()

Метод index() может принимать максимум три параметра:

  • element — непосредственно тот элемент, индекс которого надо найти
  • start — необязательный параметр, указывает на начальную точку поиска
  • end — необязательный параметр, поиск выполняется до указанного индекса

Стоит отметить, что метод index(), возвращает индекс только первого вхождения, соответствующего элемента.

Пример 1. Найдем индекс элемента

                    
vowels = ['a', 'e', 'i', 'o', 'i', 'u']

index = vowels.index('e')

print('Индекс элемента:', index)

# Ищем индекс 'i' 
# Получим индекс первого 'i' 
index = vowels.index('i')

print('The index of i:', index)

#Результат
The index of e: 1
The index of i: 2

На самом деле, не думаю что данный пример требует каких либо объяснений. Мы просто передаем элемент, и получаем его индекс.

Пример 2. Индекс элемента которого нет в списке

Тут все достаточно просто, в случае, если в списке отсутствует передаваемый элемент, то вместо индекса, мы получим знакомую нам ошибку ValueError.

                    
alphabets = ['a', 'e', 'i', 'o', 'g', 'l', 'i', 'u']

index = alphabets.index('e')   # 1

print('The index of e:', index)

index = alphabets.index('i', 4)   # 6

print('The index of i:', index)

index = alphabets.index('i', 3, 5)   # Error!

print('The index of i:', index)

#Результат
The index of e: 1
The index of i: 6
Traceback (most recent call last):
  File "*lt;string>", line 13, in 
ValueError: 'i' is not in list

 

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *