Метод list.insert() в Python, вставить элемент по индексу
Метод sequence.insert(i, x) вставляет объект x в последовательность sequence по индексу i . Если значение индекса i находится за пределами длины последовательности, то объект x вставляется в конец последовательности.
Операция вставки объекта в последовательность по индексу эквивалентна выполнению sequence[i:i] = [x] .
Эта операция поддерживаются изменяемыми типами последовательностей.
Примечание. Если необходимо осуществлять частые вставки в начало изменяемой последовательности, такие как списки или массивы байтов, то для лучшей производительности кода используйте двустороннюю очередь collections.deque() . Этот тип данных предоставляет модуль collections . Тип collections.deque() специально оптимизирован для таких действий.
Примеры добавления в список элемента по индексу.
- Вставить элемент в начало списка;
- Вставить элемент в середину списка;
- Другие примеры добавления элемента в список по индексу.
Вставить элемент в начало списка.
Внимание. Встроенный тип list не оптимизирован для совершения частых вставок в начало списка. При осуществлении частых вставок элементов в начало списка или любое другое место (кроме конца списка), ваш код будет значительно притормаживать (из за частого изменения индексов элементов списка).
Для оптимизации таких действий, применяйте двустороннюю очередь collections.deque() . Тем более данный тип позволяет расширять начало списка другим списком.
# использование lst.insert() >>> x = [12, 15, 18] >>> x.insert(0, 3) >>> x # [3, 12, 15, 18] # использование двусторонней очереди >>> import collections >>> dq = collections.deque(x) >>> dq.appendleft(2) >>> x = list(dq) >>> x # [2, 3, 12, 15, 18] # расширение начала списка другим списком >>> ext_lst = [0, 1, 2] >>> dq.extendleft(ext_lst[::-1]) >>> list(dq) # [0, 1, 2, 2, 3, 12, 15, 18]
Вставить элемент в середину списка.
Для этого определим длину списка, затем выполним целочисленное деление на 2, что бы узнать индекс середины списка.
>>> x = [1, 2, 3, 12, 15, 18] >>> n = len(x) >>> i = n//2 >>> x.insert(i, 50) >>> x # [1, 2, 3, 50, 12, 15, 18]
Общие примеры добавления элемента в список по индексу.
>>> x = [2, 0, 3, 12, 15, 18] # вставка кортежа в список по индексу >>> x.insert(5, ('one', 'two')) >>> x # [2, 0, 3, 12, 15, ('one', 'two'), 18] # если индекс за пределами длины последовательности >>> x.insert(100, 100) >>> x # [2, 0, 3, 12, 15, ('one', 'two'), 18, 100] # вставка элемента в список по отрицательному индексу >>> x.insert(-3, 'foo') >>> x # [2, 0, 3, 12, 15, 'foo', ('one', 'two'), 18, 100] # Эквивалент >>> x[5:5] = [25] >>> x # [2, 0, 3, 12, 15, 25, 'foo', ('one', 'two'), 18, 100]
- ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
- Изменение/замена элемента списка по индексу
- Изменение части списка операцией среза
- Изменение списка срезом c заданным шагом
- Удаление части списка операцией среза
- Удаление части списка по срезу с заданным шагом
- Метод list.append(), добавляет значение в конец списка
- Метод list.clear(), очищает список
- Метод list.copy(), копия списка
- Метод list.extend(), расширяет список другой последовательностью
- Расширение списка его содержимым
- Метод list.insert(), вставить элемент по индексу
- Метод list.pop(), получение с удалением элемент списка
- Метод list.remove(), удаление элемента списка по значению
- Метод list.reverse(), разворачивает элементы списка
- Удаление элемента списка по индексу
- Удаление дубликатов из списка Python с сохранением очередности
Добавление элемента в начало списка Python
Вы можете воспользоваться методом insert , который вставляет элемент в указанную первым аргументом позицию.
Пример:
def main(): li = [10, 100, 55] li.insert(0, 5) print(li) if __name__ == '__main__': main()
stdout:
[5, 10, 100, 55]
Отслеживать
ответ дан 2 дек 2019 в 21:39
18.4k 5 5 золотых знаков 24 24 серебряных знака 48 48 бронзовых знаков
l.insert(0,5)
l.insert — функция, с помощью которой мы добавляем в самое начало списка (0), а потом указываем, что мы хотим добавить, в нашем случае — 5.
То есть: l.insert — добавить, 0 — место на которое нужно добавить элемент, и 5 — то, что нужно добавить.
Отслеживать
ответ дан 5 фев 2020 в 7:11
1 2 2 бронзовых знака
- python
- list
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.15.1019
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Как добавить элементы в список в Python
В этой статье мы рассмотрим разные способы добавления элементов в список в Python.
Существует четыре метода добавления элементов в список.
- append(): добавляет элемент в конец списка.
- insert(): вставляет элемент перед указанным индексом.
- extend(): расширяет список, добавляя элементы из итерируемого списка.
- Объединение списков: мы можем использовать оператор + для объединения нескольких списков в новый список.
Метод append()
Эта функция добавляет один элемент в конец списка.
fruit_list = ["Apple", "Banana"] print(f'Current Fruits List ') new_fruit = input("Please enter a fruit name:\n") fruit_list.append(new_fruit) print(f'Updated Fruits List ')
Результат будет следующим:
Current Fruits List ['Apple', 'Banana'] Please enter a fruit name: Orange Updated Fruits List ['Apple', 'Banana', 'Orange']
В этом примере Orange добавлен в конец списка.
Метод insert()
Этот метод добавляет элемент по указанному индексу списка. Давайте посмотрим на следующий пример:
num_list = [1, 2, 3, 4, 5] print(f'Current Numbers List ') num = int(input("Please enter a number to add to list:\n")) index = int(input(f'Please enter the index between 0 and to add the number:\n')) num_list.insert(index, num) print(f'Updated Numbers List ')
Результат получится следующим:
Current Numbers List [1, 2, 3, 4, 5] Please enter a number to add to list: 20 Please enter the index between 0 and 4 to add the number: 2 Updated Numbers List [1, 2, 20, 3, 4, 5]
В этом примере значение 20 было помещено в список по индексу 2.
Метод extend()
Эта функция добавляет в список итерируемые элементы.
extend_list = [] extend_list.extend([1, 2]) # extending list elements print(extend_list) extend_list.extend((3, 4)) # extending tuple elements print(extend_list) extend_list.extend("ABC") # extending string elements print(extend_list)
Вывод будет следующим:
[1, 2] [1, 2, 3, 4] [1, 2, 3, 4, 'A', 'B', 'C']
В этом примере мы добавили список из [1, 2], а затем – кортеж (3, 4) и строку ABC.
Объединение списков
Если вам нужно объединить несколько списков в один, вы можете использовать оператор +. Он создаст новый список, а исходные списки останутся без изменений.
evens = [2, 4, 6] odds = [1, 3, 5] nums = odds + evens print(nums) # [1, 3, 5, 2, 4, 6]
В этом примере список evens добавлен в конец списка odds. Новый список будет содержать элементы из списка слева направо. Этот метод похож на конкатенацию строк в Python.
Подводим итоги
В Python доступно несколько способов добавления элементов в список. Мы можем добавить элемент в конец списка и вставить элемент по заданному индексу. Также можно добавить список в другой список. Если же вам нужно объединить несколько списков, просто используйте оператор +.
Как добавить в начало списка в Python 1 мин для чтения
В этой статье мы увидим, как мы можем вставить элемент в начало списка в Python. Кроме того, мы будем использовать только целочисленные концепции, чтобы их было легко понять, а другие типы данных будут аналогичными, как показано в этой статье. Итак, мы собираемся обсудить следующие методы:
- Функция List.Insert
- Метод оператора сложения
- Метод нарезки
- Итеративный метод распаковки
Итак, давайте подробно обсудим каждый метод.
Метод 1. Использование функции list.insert
Первый метод, который мы собираемся обсудить, — это функция вставки. Эта функция принимает два параметра: index_position и значение. В приведенном ниже коде мы вставляем переменную val в позицию индекса 0:
#python list_insert_method.py if __name__ == '__main__': lst = [12, 33, 45, 56,47] val = 1 lst.insert(0, val) print(lst) # prints [1, 12, 33, 45, 56, 47]
Вывод: python list_insert_method.py
[ 1 , 12 , 33 , 45 , 56 , 47 ]
Строка 5: Мы создали список целых чисел (lst).
Строка 6: Мы создали переменную val и присвоили ей значение 1, которое мы хотим вставить в начало списка.
Строка 8: Теперь мы вызываем метод insert и передаем два параметра (index_position, value). Первый параметр — это index_position, куда мы хотим вставить значение, поэтому мы оставляем его 0. Другой параметр — это значение, которое мы хотим вставить в index_position 0.
Строка 9: Оператор печати показывает, что наш val успешно вставлен в начало списка.
Метод 2: использование метода оператора сложения (+)
В этом методе мы собираемся изменить тип данных значения с целого числа на список, который мы хотим вставить в первую позицию списка. После этого мы используем оператор сложения и объединяем первый элемент списка, который является значением, с другим списком, как показано ниже в программе:
#python addition_operator_method.py if __name__ == '__main__': lst = [12, 33, 45, 56,47] val = 1 lst = [val] + lst print(lst) # prints [1, 12, 33, 45, 56, 47]
Вывод: python addition_operator _method.py
[ 1 , 12 , 33 , 45 , 56 , 47 ]
Читать Базовое имя Python
Строка 8: Мы преобразуем значение в список, а затем с помощью оператора сложения добавляем первый список перед вторым.
Строка 9: Оператор печати показывает, что наш val успешно вставлен в начало списка.
Метод 3: использование метода среза
Другой метод, который мы собираемся обсудить, — это метод среза. Как мы знаем, list[: 1] напечатает элемент в позиции индекса 0, а list[: 2] напечатает два значения в позиции индекса 0 и 1. Поэтому любое значение, которое мы передаем в список слайсов [: n], будет print (n -1) элементов. Итак, если мы передадим список [: 0], он будет отображаться как пустой, потому что в списке нет такого значения индекса. Если мы вставим элемент в этот конкретный индекс, он добавится в начало списка, как показано в следующей программе:
# python slice_method.py if __name__ == '__main__': lst = [12, 33, 45, 56,47] val = 1 print(lst[:0]) lst[:0] = [val] print(lst) # prints [1, 12, 33, 45, 56, 47]
Вывод: python slice_method.py
[ ] [ 1 , 12 , 33 , 45 , 56 , 47 ]
Строка 7 : Мы печатаем lst[: 0], чтобы проверить, какие значения мы получим. По выходным данным print[] мы можем ясно сказать, что это пустой список.
Строка 8 : Мы присвоили список val пустому списку, как описано выше.
Строка 9 : Оператор печати показывает, что наш val успешно вставлен в начало списка.
Метод 4: Использование итеративного метода распаковки
Последний метод, который мы собираемся обсудить, — это оператор звездочки (*). Это итеративный метод, и он также вставляет значение в начало списка.
# python unpacking_operator_method.py if __name__ == '__main__': lst = [12, 33, 45, 56,47] val = 1 print(*lst) lst = [val, *lst] print(lst) # prints [1, 12, 33, 45, 56, 47]
Вывод: python unpacking_operator_method.py
12 33 45 56 47 [ 1 , 12 , 33 , 45 , 56 , 47 ]
Строка 7: Когда мы печатаем список звездочек, мы получаем все элементы, как показано на выходе. Таким образом, мы можем сказать, что он повторяемый.
Строка 8: Мы сохранили val и * list вместе в списке, а затем назначили его другому списку.
Читать Запрос Redis из Python
Строка 9: Оператор печати показывает, что наш val успешно вставлен в начало списка.
Заключение
Мы показали вам различные методы добавления элемента в начало списка. Мы видели разные методы, такие как Insert, Addition(+) Operator, Slice и Unpacking Asterisk. Все методы очень просты в использовании, но вместе с тем мы должны заботиться о времени обработки. Потому что, если данных меньше, нас это может не волновать. Однако, если у нас есть миллиарды данных, это может иметь значение. Исходя из этого, лучшим методом обработки является метод вставки.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
