Что делает метод list clear
Перейти к содержимому

Что делает метод list clear

  • автор:

Метод clear

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

Синтаксис

список.clear()

Пример

Давайте удалим все элементы в нашем списке:

lst = [‘a’, ‘b’, ‘c’] lst.clear() print(lst)

Результат выполнения кода:

Пример

А теперь давайте применим метод clear у пустому списку:

lst = [] lst.clear() print(lst)

После выполнения кода метод вернет нам также пустой список:

Смотрите также

  • метод pop ,
    который удаляет элемент по его индексу
  • метод remove ,
    который удаляет элемент из списка
  • метод append ,
    который добавляет элемент в конец списка

Списки (list). Функции и методы списков

Python 3 логотип

Сегодня я расскажу о таком типе данных, как списки, операциях над ними и методах, о генераторах списков и о применении списков.

Что такое списки?

Списки в Python — упорядоченные изменяемые коллекции объектов произвольных типов (почти как массив, но типы могут отличаться).

Чтобы использовать списки, их нужно создать. Создать список можно несколькими способами. Например, можно обработать любой итерируемый объект (например, строку) встроенной функцией list:

Список можно создать и при помощи литерала:

Как видно из примера, список может содержать любое количество любых объектов (в том числе и вложенные списки), или не содержать ничего.

И еще один способ создать список — это генераторы списков. Генератор списков — способ построить новый список, применяя выражение к каждому элементу последовательности. Генераторы списков очень похожи на цикл for.

Возможна и более сложная конструкция генератора списков:

Но в сложных случаях лучше пользоваться обычным циклом for для генерации списков.

Функции и методы списков

Создать создали, теперь нужно со списком что-то делать. Для списков доступны основные встроенные функции, а также методы списков.

Таблица «методы списков»

Метод Что делает
list.append(x) Добавляет элемент в конец списка
list.extend(L) Расширяет список list, добавляя в конец все элементы списка L
list.insert(i, x) Вставляет на i-ый элемент значение x
list.remove(x) Удаляет первый элемент в списке, имеющий значение x. ValueError, если такого элемента не существует
list.pop([i]) Удаляет i-ый элемент и возвращает его. Если индекс не указан, удаляется последний элемент
list.index(x, [start [, end]]) Возвращает положение первого элемента со значением x (при этом поиск ведется от start до end)
list.count(x) Возвращает количество элементов со значением x
list.sort([key=функция]) Сортирует список на основе функции
list.reverse() Разворачивает список
list.copy() Поверхностная копия списка
list.clear() Очищает список

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

   И, напоследок, примеры работы со списками:

Изредка, для увеличения производительности, списки заменяют гораздо менее гибкими массивами (хотя в таких случаях обычно используют сторонние библиотеки, например NumPy).

Для вставки кода на Python в комментарий заключайте его в теги

  • Модуль csv - чтение и запись CSV файлов
  • Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
  • Онлайн-обучение Python: сравнение популярных программ
  • Книги о Python
  • GUI (графический интерфейс пользователя)
  • Курсы Python
  • Модули
  • Новости мира Python
  • NumPy
  • Обработка данных
  • Основы программирования
  • Примеры программ
  • Типы данных в Python
  • Видео
  • Python для Web
  • Работа для Python-программистов
  • Сделай свой вклад в развитие сайта!
  • Самоучитель Python
  • Карта сайта
  • Отзывы на книги по Python
  • Реклама на сайте

Метод list.clear() в Python, очищает список

Метод clear() был включен для обеспечения согласованности с интерфейсами изменяемых контейнеров, которые не поддерживают срезы, такие как dict и set .

Эта операция поддерживаются изменяемыми типами последовательностей.

Примеры очистки значений списка.

>>> x = [3, 6, 9] >>> x.clear() >>> x # [] >>> x = ['one', 'two', 'three', [3, 6, 9]] >>> x.clear() >>> x # [] >>> x = [3, 6, 9, 11, 13] >>> del x[:] # [] 
  • ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
  • Изменение/замена элемента списка по индексу
  • Изменение части списка операцией среза
  • Изменение списка срезом c заданным шагом
  • Удаление части списка операцией среза
  • Удаление части списка по срезу с заданным шагом
  • Метод list.append(), добавляет значение в конец списка
  • Метод list.clear(), очищает список
  • Метод list.copy(), копия списка
  • Метод list.extend(), расширяет список другой последовательностью
  • Расширение списка его содержимым
  • Метод list.insert(), вставить элемент по индексу
  • Метод list.pop(), получение с удалением элемент списка
  • Метод list.remove(), удаление элемента списка по значению
  • Метод list.reverse(), разворачивает элементы списка
  • Удаление элемента списка по индексу
  • Удаление дубликатов из списка Python с сохранением очередности

В чём разница между list.clear() и list = []?

Писал только что код, и не мог найти ошибку пока не изменил list.clear() на list = []. вот код на питоне:

def reverse_ascending(items): if len(items) == 2: return list(reversed(items)) stack = [] s = [] count = 1 while count < len(items): if items[count-1] < items[count]: s.insert(0, items[count-1]) elif items[count-1] >items[count]: s.insert(0, items[count-1]) stack.append(s) s = [] else: stack.append([items[count-1]]) if count == len(items)-1: s.insert(0, items[count]) stack.append(s) count += 1 return [i for x in stack for i in x] if len(items) > 1 else items print("Example:") print(reverse_ascending([1, 2, 3, 4, 5])) # These "asserts" are used for self-checking and not for an auto-testing print(reverse_ascending([1, 2, 3, 4, 5])) # [5, 4, 3, 2, 1] print(reverse_ascending([5, 7, 10, 4, 2, 7, 8, 1, 3])) # [10, 7, 5, 4, 8, 7, 2, 3, 1] 

Задание: Создайте и верните новый итерируемый элемент, содержащий те же элементы, что и итерируемые элементы аргумента, но с обратным порядком элементов внутри каждого максимального строго восходящего подсписка. Еле-еле нашёл что если заменить s.clear() на s = [] то в stack добавляется список из s и сохраняется. НО, если я напишу s.clear() то stack тоже удаляется. можете побробывать. Почему очистка списка s затрагивает список stack?

Отслеживать
задан 9 дек 2018 в 14:02
47 1 1 серебряный знак 9 9 бронзовых знаков

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

lis.clear() очищает массив сохраняя ссылку. Если где-то есть другие ссылки на этот же объект, они теперь ссылаются на пустой массив.

list = [] - создание нового объекта. Другие ссылки продолжают ссылаться на старый (заполненный) массив. Манипуляции с list на старый массив не повлияют.

Отслеживать
ответ дан 9 дек 2018 в 14:05
user176262 user176262

  • python-3.x
  • методы
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.2.6.4355

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

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