logo

Python – видалити перший елемент списку

Структура даних черги є дуже відомою структурою даних, списки в Python зазвичай додають елементи в кінець списку Python. Для реалізації структури даних черги важливо мати можливість видалити передній елемент зі списку. Давайте обговоримо способи видалення першого елемента списку.

Спосіб 1: Видалення елементів зі списків у Python за допомогою pop()

Цей метод pop(), тобто видаляє та друкує iтиселемент зі списку. Цей метод найчастіше використовується серед інших доступних варіантів для виконання цього завдання. Це змінює вихідний список.



Python3








# initializing list> test_list>=> [>1>,>4>,>3>,>6>,>7>]> # Printing original list> print>(>'Original list is : '> +> str>(test_list))> # using pop(0) to perform removal> test_list.pop(>0>)> # Printing modified list> print>(>'Modified list is : '> +> str>(test_list))>

>

>

Вихід:

Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>

Спосіб 2: Видалення елементів зі списків у Python за допомогою del list[]

Це лише альтернативний метод виконання переднього видалення, цей оператор del також виконує видалення елементів списку на місці та зменшує розмір списку на 1.

Python3




# initializing list> test_list>=> [>1>,>4>,>3>,>6>,>7>]> # Printing original list> print>(>'Original list is : '> +> str>(test_list))> # using del list[0] to perform removal> del> test_list[>0>]> # Printing modified list> print>(>'Modified list is : '> +> str>(test_list))>

>

>

Вихід:

Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>

Спосіб 3: Видалення елементів зі списків у Python за допомогою Slicing

Нарізка Python це ще один підхід, за допомогою якого можна вирішити цю проблему, ми можемо розділити список від другого до останнього елемента та призначити його порожньому списку. Це не виконує перетворення на місці, як у випадку двох вищезазначених методів.

Python3




# initializing list> test_list>=> [>1>,>4>,>3>,>6>,>7>]> # Printing original list> print>(>'Original list is : '> +> str>(test_list))> # using slicing to perform removal> res>=> test_list[>1>:]> # Printing modified list> print>(>'Modified list is : '> +> str>(res))>

>

>

Вихід:

Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>

Спосіб 4: Видалення елементів зі списків у Python за допомогою про що() + popleft()

Це менш відомий метод для вирішення цього конкретного завдання, перетворюючи список на deque, а потім виконуючи висування ліворуч, видаляє елемент з початку списку.

Python3




from> collections>import> deque> # initializing list> test_list>=> [>1>,>4>,>3>,>6>,>7>]> # Printing original list> print>(>'Original list is : '> +> str>(test_list))> # using deque() + popleft() to> # perform removal> res>=> deque(test_list)> res.popleft()> # Printing modified list> print>(>'Modified list is : '> +> str>(>list>(res)))>

>

>

Вихід:

Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>

Спосіб 5: Видалення елементів зі списків у Python за допомогою remove()

The видалити() функція дозволяє видалити перший екземпляр вказаного значення зі списку. Це можна використовувати для видалення верхнього елемента списку. Виберіть перший член зі списку та передайте його функції remove().

Python3




test_list>=> [>1>,>4>,>3>,>6>,>7>,>10>]> # Printing original list> print>(>'Original list is : '> +> str>(test_list))> # Remove first element from list in python> test_list.remove(test_list[>0>])> # Printing modified list> print>(>'Modified list is : '> +> str>(test_list))>

>

>

Вихід:

конструктор python
Original list is : [1, 4, 3, 6, 7, 10] Modified list is : [4, 3, 6, 7, 10]>

Метод: 6 з використанням розуміння списку

покроковий алгоритм реалізації підходу

  1. Список test_list
  2. Ініціалізувати порожній список new_list
  3. Ітерація елементів у test_list, починаючи з другого елемента:
    a. Додати поточний елемент до new_list
  4. Повернути новий_список

Python3




# initializing list> test_list>=> [>1>,>4>,>3>,>6>,>7>]> # remove first element using list comprehension> new_list>=> [x>for> x>in> test_list[>1>:]]> # print the new list> print>(>'Modified list is : '> +> str>(new_list))>

>

>

Вихід

Modified list is : [4, 3, 6, 7]>

Часова складність:

Часова складність цього підходу становить O(n), де n – кількість елементів у вхідному списку test_list.
Це пояснюється тим, що алгоритм повторює кожен елемент у списку один раз, за ​​винятком першого елемента, який пропускається.
Допоміжні приміщення:

Складність допоміжного простору цього підходу становить O(n), де n — кількість елементів у вхідному списку test_list.
Це пов’язано з тим, що алгоритм створює новий список new_list для зберігання зміненої версії вхідного списку, який потенційно може містити таку саму кількість елементів, як test_list.

Використання numpy.delete():

  1. Імпортуйте бібліотеку numpy
  2. Створіть масив numpy зі списку, який потрібно змінити
  3. Використовуйте функцію numpy.delete(), щоб видалити перший елемент масиву
  4. Перетворіть змінений масив numpy назад на список
  5. Роздрукуйте вихідний і змінений списки

Python3




import> numpy as np> # initializing list> test_list>=> [>1>,>4>,>3>,>6>,>7>]> # Printing original list> print>(>'Original list is : '> +> str>(test_list))> # Convert list to numpy array> np_array>=> np.array(test_list)> # Use numpy.delete() to remove first element> modified_np_array>=> np.delete(np_array,>0>)> # Convert numpy array back to list> modified_list>=> modified_np_array.tolist()> # Printing modified list> print>(>'Modified list is : '> +> str>(modified_list))>

>

>

Вихід:

Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>

Часова складність:
Часова складність функції numpy.delete() дорівнює O(n), де n – кількість елементів у масиві numpy. Оскільки ми також перетворюємо список у масив numpy і назад у список, загальна часова складність цього підходу становить O(n).

Складність простору:
Просторова складність цього підходу дорівнює O(n), де n – кількість елементів у вхідному списку test_list. Це пов’язано зі створенням масиву numpy.