Как добавить несколько элементов в список python
Перейти к содержимому

Как добавить несколько элементов в список python

  • автор:

Как добавить элементы в список в Python

В этой статье мы рассмотрим разные способы добавления элементов в список в Python.

Существует четыре метода добавления элементов в список.

  1. append(): добавляет элемент в конец списка.
  2. insert(): вставляет элемент перед указанным индексом.
  3. extend(): расширяет список, добавляя элементы из итерируемого списка.
  4. Объединение списков: мы можем использовать оператор + для объединения нескольких списков в новый список.

Метод 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 (добавить, расширить и вставить)

Как установить Python 3 на Ubuntu 16.04 LTS

П ри работе со списками в Python вам часто нужно добавлять новые элементы в список.

Тип данных списка Python имеет три метода для добавления элементов:

  • append() — добавляет один элемент в список.
  • extend() — добавляет элементы итерируемого в список.
  • insert() — вставляет один элемент в заданную позицию списка.

Все три метода изменяют список на месте и возвращают None.

Метод append() в списке Python

Метод append() добавляет один элемент в конец списка.

Синтаксис метода append() следующий:

list.append(element)

Где, элемент element, который будет добавлен в список.

characters = ['Tokyo', 'Lisbon', 'Moscow', 'Berlin'] characters.append('Nairobi') print('Updated list:', characters)
Updated list: ['Tokyo', 'Lisbon', 'Moscow', 'Berlin', 'Nairobi']

Параметр element может быть объектом любого типа данных:

odd_numbers = [1, 3, 5, 7] even_numbers = [2, 4, 6] odd_numbers.append(even_numbers) print('Обновленный список:', odd_numbers)

Список even_numbers добавляется в список как один элемент odd_numbers.

Обновленный список: [1, 3, 5, 7, [2, 4, 6]]

Метод extend() в список Python

Метод extend() все элементы итератор к концу списка.

Синтаксис метода extend() следующий:

list.extend(iterable)

Где iterable — это итерация, добавляемая в список.

characters = ['Tokyo', 'Lisbon', 'Moscow', 'Berlin'] new_characters = ['Nairobi', 'Denver', 'Rio'] characters.extend(new_characters) print('Список обновлен:', characters)
Список обновлен: ['Tokyo', 'Lisbon', 'Moscow', 'Berlin', 'Nairobi', 'Denver', 'Rio']

Аргументом может быть любой тип итерации:

animals = ['dog', 'cat'] # кортеж mammals = ('tiger', 'elephant') animals.extend(mammals) print('Updated list:', animals) # dictionary birds = animals.extend(birds) print('Updated list:', animals)
Updated list: ['dog', 'cat', 'tiger', 'elephant'] Updated list: ['dog', 'cat', 'tiger', 'elephant', 'owl', 'parrot']

Метод insert() в списке Python

Метод insert() добавляет один элемент в список по указанному индексу.

Синтаксис метода insert() следующий:

list.insert(index, element)

Где index — это индекс элемента, перед которым нужно вставить, и elementэлемент, который нужно вставить в список. В Python индекс списка начинается с 0.

fruits = ['raspberry', 'strawberry', 'blueberry'] fruits.insert(1, 'cranberry') print('Updated list:', fruits)
Updated list: ['raspberry', 'cranberry', 'strawberry', 'blueberry']

Параметр element может быть объектом любого типа данных:

numbers = [10, 15, 20, 25] squares = [1, 4, 9] numbers.insert(2, squares) print('Updated list:', numbers)

Список squares вставляется как один элемент в список numbers.

Updated list: [10, 15, [1, 4, 9], 20, 25]

Вывод

Мы показали вам, как добавлять элементы в список в Python с использованием методов append(), extend() и insert(). Другой способ добавить элементы в список, использовать оператор +- для объединения нескольких списков.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Как вводить в список сразу несколько числовых значений?

Цель: сделать так, чтобы пользователь вводил (уже после запуска кода) в список сразу несколько числовых значений, и при этом, чтобы они все были в формате чисел (int, как я понимаю), а не str. Пытался сделать через такой код:

list=[int(input('Введите числа, из которых будет состоять список: '))] print(list) 

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

ValueError: invalid literal for int() with base 10: '1 2 3' - это числа, которые я пытаюсь ввести. Не важно, есть междуними запятая, или нет, всё равно ошибка :( 

Помогите написать корректный код.

Списки в Python

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

Как создать список

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

В списке допускается любое количество элементов разных типов (целые числа, числа с плавающей точкой, строки и т. д.).

# пустой список my_list = [] # список целых чисел my_list = [1, 2, 3] # список с элементами разных типов my_list = [1, "Привет", 3.4]

Элементом списка может быть и другой список. Такие списки называются вложенными.

# внутри основного списка — вложенный список my_list = ["мышь", [8, 4, 6], ['a']]

Как получить доступ к элементам списка

1. По индексу

Чтобы получить доступ к элементу списка, можно воспользоваться оператором индекса [] .

Примечание. Обратите внимание, что индексирование кортежа начинается с 0. Поэтому у списка из 5 элементов будут индексы с 0 по 4.

Попытка взять элемент по индексу, не входящему в диапазон, приведет к IndexError. Индекс — обязательно целое число. Нельзя использовать числа с плавающей точкой и другие типы, это приведет к TypeError.

Вложенные списки можно получить с помощью вложенной индексации.

# Индексация списков my_list = ['п', 'р', 'о', 'б', 'а'] # Вывод: п print(my_list[0]) # Вывод: о print(my_list[2]) # Вывод: а print(my_list[4]) # Вложенный список — [2, 0, 1, 5] n_list = ["Счастье", [2, 0, 1, 5]] # Вложенная индексация print(n_list[0][1]) print(n_list[1][3]) # Ошибка! Для индексации используются только целочисленные значения print(my_list[4.0])

Вывод:

п
o
а
ч
5
Traceback (most recent call last): 
File "", line 21, in
TypeError: list indices must be integers or slices, not float
2. По отрицательному индексу

Python поддерживает отрицательные индексы в последовательностях. Индекс -1 указывает на последний элемент, -2 — на предпоследний и т. д.

# Отрицательные индексы в списках my_list = ['п', 'р', 'о', 'б', 'а'] print(my_list[-1]) print(my_list[-5])

Вывод:

Срезы списков

С помощью оператора среза : можно получить диапазон элементов в списке.

my_list = ['c', 'o' , 'd', 'e', 'c', 'h', 'i', 'c', 'k'] # элементы с 3 по 5 print(my_list[2:5]) # элементы с 1 по 4 print(my_list[:-5]) # элементы с 6 по последний print(my_list[5:]) # элементы с первого по последний print(my_list[:])
Вывод:
['d', 'e', 'c']
['c','o,'d','e']
['h','i','c','k']
['c','o,'d','e','c','h','i','c','k']

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

Список — изменяемый тип данных, его элементы можно изменять в отличие от строки или кортежа.

Чтобы изменить один или несколько элементов, можно воспользоваться оператором присваивания = .

Допустим, у нас есть список, который называется odd (нечётные числа). Но в нём почему-то хранятся четные числа. Давайте это исправим.

odd = [2, 4, 6, 8] # изменяем 1-й элемент odd[0] = 1 print(odd) # изменяем элементы со второго по 4 odd[1:4] = [3, 5, 7] print(odd) 

Вывод:

[1, 4, 6, 8]
[1, 3, 5, 7]

Как добавлять элементы в список

Один элемент в список добавляется с помощью метода append() , а несколько — с помощью метода extend() .

odd = [1, 3, 5] odd.append(7) print(odd) odd.extend([9, 11, 13]) print(odd)

Вывод:

[1, 3, 5, 7]

[1, 3, 5, 7, 9, 11, 13]

Для объединения двух списков используется оператор + . Это называется конкатенацией списков.

Оператор * повторяет список заданное количество раз.

odd = [1, 3, 5] print(odd + [9, 7, 5]) print(["re"] * 3)

Вывод:

[1, 3, 5, 9, 7, 5]
['re', 're', 're']

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

odd = [1, 9] odd.insert(1,3) print(odd) odd[2:2] = [5, 7] print(odd)

Вывод:

[1, 3, 9]
[1, 3, 5, 7, 9]

Как удалять элементы из списка

Один или несколько элементов списка можно удалить с помощью ключевого слова del . С помощью него можно удалить и весь список.

my_list = ['п', 'р', 'o', 'б', 'л', 'е', 'м', 'а'] # удаление одного элемента del my_list[2] print(my_list) # удаление среза элементов del my_list[1:5] print(my_list) # удаление всего списка del my_list # этот вызов приведет к ошибке # список не определен, т. к. мы удалили его print(my_list)

Вывод:

['п', 'р', 'б', 'л', 'е', 'м', 'а']
['п', 'м', 'а']
Traceback (most recent call last):
File "", line 18, in
NameError: name 'my_list' is not defined

Чтобы удалить элемент по значению, можно использовать метод remove() , а для удаления по индексу — метод pop() .

Метод pop() удаляет и возвращает последний элемент из списка, если не указан индекс. Это помогает применять списки как стек (структура данных, которая подчиняется принципу LIFO: «последним пришел — первым вышел»).

Для очистки списка используется метод clear() .

my_list = ['п', 'р', 'o', 'б', 'л', 'е', 'м', 'а'] my_list.remove('п') # Вывод: ['р', 'o', 'б', 'л', 'е', 'м', 'а'] print(my_list) # Вывод: 'o' print(my_list.pop(1)) # Вывод: ['р', 'б', 'л', 'е', 'м', 'а'] print(my_list) # Вывод: 'м' print(my_list.pop()) # Вывод: ['р', 'б', 'л', 'е', 'а'] print(my_list) my_list.clear() # Вывод: [] print(my_list)

Вывод:

['р', 'o', 'б', 'л', 'е', 'м', 'а']
o
['р', 'б', 'л', 'е', 'м', 'а']
м
['р', 'б', 'л', 'е', 'а']
[]

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

>>> my_list = ['п', 'р', 'o', 'б', 'л', 'е', 'м', 'а'] >>> my_list[2:3] = [] >>> my_list ['п', 'р', 'б', 'л', 'е', 'м', 'а'] >>> my_list[2:5] = [] >>> my_list ['п', 'р', 'м', 'а']

Методы списков

Методы списков перечислены в таблице ниже. Их нужно использовать с помощью конструкции список.метод() . Некоторые из них мы уже использовали.

Название метода

Что делает

Добавляет элемент в конец списка

Добавляет все элементы списка в другой список

Вставляет элемент по данному в качестве аргумента индексу

Удаляет элемент из списка

Удаляет элемент из списка и возвращает его

Удаляет все элементы из списка

Возвращает индекс первого совпавшего элемента

Считает количество элементов в списке, совпадающих с переданным аргументом

Сортирует элементы в списке в порядке возрастания

Возвращает неглубокую копию списка

# Методы списков my_list = [3, 8, 1, 6, 0, 8, 4] # Вывод: 1 print(my_list.index(8)) # Вывод: 2 print(my_list.count(8)) my_list.sort() # Вывод: [0, 1, 3, 4, 6, 8, 8] print(my_list) my_list.reverse() # Вывод: [8, 8, 6, 4, 3, 1, 0] print(my_list)

Вывод:

1
2
[0, 1, 3, 4, 6, 8, 8]
[8, 8, 6, 4, 3, 1, 0]

Представления списков

Представление списков — элегантный и лаконичный способ создать новый список из существующего.

Представление списков состоит из выражения, за которым следует оператор for , и эта конструкция заключается в квадратные скобки [] .

Давайте создадим список степеней двойки от 1 до 9. Используем для это представление списка.

pow2 = [2 ** x for x in range(10)] print(pow2)

Вывод:

[1, 2, 4, 8, 16, 32, 64, 128, 256, 512]

То же самое можно сделать и так:

pow2 = [] for x in range(10): pow2.append(2 ** x)

Но так — длинее. Представление списков более элегантный способ.

В представлениях списков может быть больше операторов for и if . Оператор if он позволяет отфильтровать элементы для нового списка. Он необязателен.

>>> pow2 = [2 ** x for x in range(10) if x > 5] >>> pow2 [64, 128, 256, 512] >>> odd = [x for x in range(20) if x % 2 == 1] >>> odd [1, 3, 5, 7, 9, 11, 13, 15, 17, 19] >>> [y+x for x in ['Python ','C '] for y in ['Язык','Программирование на']] ['Язык Python', 'Программирование на Python', 'Язык C', 'Программирование на C']

Другие операции со списками

Проверка на вхождение элемента в список

С помощью ключевого слова in можно узнать, есть элемент в списке или нет.

my_list = ['п', 'р', 'o', 'б', 'л', 'е', 'м', 'а'] # Вывод: True print('п' in my_list) # Вывод: False print('у' in my_list) # Вывод: True print('с' not in my_list)

Вывод:

True
False
True
Итерирование по списку

С помощью цикла for можно пройтись по каждому элементу в списке.

for fruit in ['яблоки','бананы','манго']: print("Я люблю",fruit)

Вывод:

Я люблю яблоки
Я люблю бананы
Я люблю манго

СodeСhick.io — простой и эффективный способ изучения программирования.

2023 © ООО «Алгоритмы и практика»

Добавить комментарий

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