Как обнулить массив в питоне

Метод clear() в Python

Метод не принимает никаких параметров. clear() очищает только указанный список. Он не возвращает никакого значения.

Пример 1

Примечание. Если вы используете Python 2 или Python 3.2 и ниже, вы не можете использовать метод clear(). Вместо этого вы можете использовать оператор del.

Пример 2: Очистка списка с помощью del

Синтаксис в словаре:

Параметры

clear() в Python не принимает никаких параметров.

Возвращаемое значение

Метод не возвращает никакого значения (не возвращает None).

Пример 1: Как метод работает со словарями?

Очистка списка на месте повлияет на все остальные ссылки того же списка.

Например, этот метод не влияет на другие ссылки:

Также можно сделать так
>>> a[:] = []
Выполнение alist = [] не очищает список, а просто создает пустой список и привязывает его к переменной alist. Старый список все еще будет существовать, если у него были другие привязки переменных.

Чтобы действительно очистить список, вы можете использовать любой из этих способов:
alist.clear() # Python 3.3+, most obvious
del alist[:]
alist[:] = []
alist *= 0 # fastest
Существует очень простой способ очистить список python. Использовать del list_name[:].

Например:
>>> a = [1, 2, 3]
>>> b = a
>>> del a[:]
>>> print a, b
[] []
Также этот код
del old_list[ 0:len(old_list) ]
эквивалентен
del old_list[:]
del list[:]
Удалит значения этой переменной списка

del list
Удалит саму переменную из памяти.
В случае, если вам список снова понадобится, вы можете повторно инициализировать его. Или просто очистить его элементы с помощью
del a[:]

Очистить массив или присвоить пустой? a.clear() VS a = []. Разница

Есть в Python’e метод clear() , который очищает список.

Допустим, есть у меня массив a = [1,2,3] мне стало нужно сделать массив пустым. На своем опыте я знаю 2 подхода к решению этой задачи

  1. a.clear()
  2. a = []

Или ООП’шный вариант:

Вопрос: какая есть разница между двумя этими подходами, и, если разница есть, что и когда будет более оптимально использовать?

Массивы Python

Основы

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

Создание массива

Существует несколько способ создать массив. Ниже приведены примеры как это можно сделать.

Многомерный массив

Двухмерный массив в Python можно объявить следующим образом.

Операции с массивами

Давайте теперь рассмотрим операции, которые Пайтон позволяет выполнять над массивами.

Обход массива с использованием цикла for

Мы можем использовать цикл for для обхода элементов массива.

Обход многомерного массива

Для того чтоб получить элементы многомерного массива придётся использовать вложенные циклы.

Добавление

Мы можем использовать функцию insert() для вставки элемента по указанному индексу. Элементы из указанного индекса сдвигаются вправо на одну позицию.

Определение размера

Используйте метод len() чтобы вернуть длину массива (число элементов массива).
Не стоит путать размер массива с его размерностью!

Срез Python предоставляет особый способ создания массива из другого массива.

Функция pop

В Python удалить ненужные элементы из массива можно при помощи метода pop, аргументом которого является индекс ячейки. Как и в случае с добавлением нового элемента, метод необходимо вызвать через ранее созданный объект.

Методы массива

В Python есть набор встроенных методов, которые вы можете использовать при работе с list.

Метод Значение
append() Добавляет элементы в конец списка
clear() Удаляет все элементы в списке
copy() Возвращает копию списка
count() Возвращает число элементов с определенным значением
extend() Добавляет элементы списка в конец текущего списка
index() Возвращает индекс первого элемента с определенным значением
insert() Добавляет элемент в определенную позицию
pop() Удаляет элемент по индексу
remove() Убирает элементы по значению
reverse() Разворачивает порядок в списке
sort() Сортирует список

Модуль array

Если Вам всё-таки нужен именно классический массив, вы можете использовать встроенный модуль array. Он почти не отличается от структуры list, за исключением, пожалуй, объявления.
Вот небольшая демонстрация:

How to empty a list?

martineau's user avatar

This actually removes the contents from the list, but doesn’t replace the old label with a new empty list:

Here’s an example:

For the sake of completeness, the slice assignment has the same effect:

It can also be used to shrink a part of the list while replacing a part at the same time (but that is out of the scope of the question).

Note that doing lst = [] does not empty the list, just creates a new object and binds it to the variable lst , but the old list will still have the same elements, and effect will be apparent if it had other variable bindings.

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

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