Как вставлять элементы в списки в Python?

Как вставлять элементы в списки в Python Программирование и разработка

Python предлагает ряд встроенных методов, упрощающих и ускоряющих реализацию вашей программы. К ним относится метод вставки Python, который можно использовать для вставки одного элемента в существующий список Python. Если вы хотите добавить несколько элементов в список одновременно или хотите добавить только отдельные элементы в конец, можно использовать методы Python extend и Python append.

Синтаксис, параметры и функциональность вставки Python

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

zutaten.insert(1, "Zucker")

В этом примере строка вставляется «Zucker«в позицию 1 в списке zutaten. Индекс, по которому должен быть вставлен элемент (строка), передается в качестве первого аргумента, а сам элемент — в качестве второго. Как обычно, оба параметра могут быть переданы напрямую или созданы как переменные перед вызовом метода. Следующий пример объясняет, как работает метод:

zutaten = ["Mehl", "Eier", "Butter"]
zutaten.insert(0, "Zucker")
print(zutaten) # Ausgabe: ['Zucker', 'Mehl', 'Eier', 'Butter']

Здесь список ингредиентов для выпечки расширен еще двумя ингредиентами, которые вставлены с индексами 0 и 2 соответственно. Важно отметить, что индексация в Python начинается с 0, как и в большинстве других языков программирования. Это означает, что первый элемент имеет индекс 0, второй элемент имеет индекс 1 и так далее. Конечно, если элемент включен в список, для него необходимо выделить место. Чтобы создать это пространство, элемент, уже присутствующий в индексе, и все его преемники сдвигаются на одну позицию вправо.insert()

Если указанный индекс находится за пределами допустимого диапазона списка (например, больше, чем количество элементов в списке), элемент просто вставляется в конец списка. В этом случае он ведет себя идентично методу добавления Python. Однако если указан отрицательный индекс, он интерпретируется как расстояние до конца списка. Например, соответствует предпоследнему элементу, элементу перед ним и так далее. Мы покажем эти два свойства в следующем примере:insert()-1-2

zutaten.insert(10, "Backpulver")
print(zutaten) # Ausgabe: ['Zucker', 'Mehl', 'Eier', 'Butter', 'Backpulver']
zutaten.insert(-2, "Salz")
print(zutaten) # Ausgabe: ['Zucker', 'Mehl', 'Eier', 'Salz', 'Butter', 'Backpulver']

Альтернативы вставке Python

В зависимости от того, какое поведение вам нужно, есть несколько операторов Python, которые можно использовать в качестве альтернативы. Представляем вашему вниманию два из них.insert()

Читайте также:  Правильные подходы к фильтрации undefined в TypeScript с полезными советами и примерами кода

Оператор индекса

Оператор индекса можно использовать для чтения или перезаписи элемента по указанному индексу в списке. Таким образом, можно использовать оператор индекса для замены одного элемента в списке другим. Это показано в следующем примере:

print(zutaten) # Ausgabe: ['Zucker', 'Mehl', 'Eier', 'Salz', 'Butter', 'Backpulver']
zutaten[2] = "Natron"
print(zutaten) # Ausgabe: ['Zucker', 'Mehl', 'Natron', 'Salz', 'Butter', 'Backpulver']

Оператор среза

Однако, если вы не хотите удалять какие-либо элементы из своего списка или, возможно, даже хотите вставить несколько элементов в середину вашего списка одновременно, оператор среза является лучшим выбором. В отличие от оператора индекса, оператор среза возвращает не один элемент из списка, а подпоследовательность списка. Таким образом, вы можете zutatenвывести элементы с индексами от 3 до 5 из нашего списка и, таким образом, получить подпоследовательность. В следующем примере показано, как можно использовать оператор среза для вставки любого количества элементов в середину списка:[’Salz’, ’Butter’, ’Backpulver’]

einzufuegen = ["Mehr Zucker", "Noch mehr Zucker"]
zutaten = zutaten[:3] + einzufuegen + zutaten[3:]
print(zutaten)
# Ausgabe: ['Zucker', 'Mehl', 'Natron', 'Mehr Zucker', 'Noch mehr Zucker', 'Salz', 'Butter', 'Backpulver']

Здесь список был вставлен einzufuegenв середину списка zutaten. zutatenДля этого мы сначала взяли все элементы от индекса до 3 с помощью оператора среза и einzufuegenсоединили их с помощью. Затем мы взяли все элементы из zutatenиндекса 3 и выше и снова объединили с ними наш список. В конечном итоге мы zutatenперезаписали список, полученный в результате этой двойной конкатенации.

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

Оцените статью
Блог о программировании
Добавить комментарий