python что такое список
Списки (list). Функции и методы списков
Сегодня я расскажу о таком типе данных, как списки, операциях над ними и методах, о генераторах списков и о применении списков.
Что такое списки?
Чтобы использовать списки, их нужно создать. Создать список можно несколькими способами. Например, можно обработать любой итерируемый объект (например, строку) встроенной функцией list:
Список можно создать и при помощи литерала:
Как видно из примера, список может содержать любое количество любых объектов (в том числе и вложенные списки), или не содержать ничего.
Возможна и более сложная конструкция генератора списков:
Но в сложных случаях лучше пользоваться обычным циклом 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(python что такое список) | Сортирует список на основе функции |
list.reverse() | Разворачивает список |
list.copy() | Поверхностная копия списка |
list.clear() | Очищает список |
Нужно отметить, что методы списков, в отличие от строковых методов, изменяют сам список, а потому результат выполнения не нужно записывать в эту переменную.
И, напоследок, примеры работы со списками:
Изредка, для увеличения производительности, списки заменяют гораздо менее гибкими массивами (хотя в таких случаях обычно используют сторонние библиотеки, например NumPy).
Списки в Python: методы и основные операции
Авторизуйтесь
Списки в Python: методы и основные операции
Списки в Python представляют собой упорядоченные изменяемые наборы объектов, пронумерованных от 0. При этом объекты могут быть разными — от целых чисел до строк. Списки могут также хранить в себе списки.
В статье разберёмся с базовыми принципами списков в Питоне, а также рассмотрим методы работы с ними. Если вы изучаете Python с нуля, предлагаем также ознакомиться с дорожной картой для начинающих.
Хранение в памяти
При создании списка, в памяти резервируется пустая область. С одной стороны, это ничем не отличается от создания любого другого типа данных, но разница в том, что содержимое list может меняться:
До замены элемента последовательности print(numbers[1]) выведет 2, а после замены — 3.
Создание списка в Python
Это можно сделать несколькими способами, например перечислением элементов списка в квадратных скобках:
При этом единица будет на позиции 0, то есть print(numbers[0]) выведет 1.
Также существуют генераторы списков, которые позволяют применить заданное выражение к каждому элементу последовательности. Допустим, необходимо создать list, состоящий из чисел от 1 до 5 включительно:
Срезы (slice) списка
Срезы позволяют получить некое подмножество значений. Следующий код вернёт список с элементами, начиная индексом 0 и не включая при этом индекс 2 и выше:
Далее выведем всё, за исключением элемента на позиции 3:
А теперь начиная с индекса 1 и до конца:
Операции над списками Python
Методы списков Python
Index
Возвращает положение первого совпавшего элемента. Поиск совпадения происходит слева направо. Пример:
Count
Данный метод считает, сколько раз указанное значение появляется в списке Python:
Append
Добавляет указанное значение в конец:
Сортирует список в Пайтоне. По умолчанию от меньшего к большему:
Также можно сортировать последовательность элементов от большего к меньшему:
Insert
Вставляет элемент перед указанным индексом:
Remove
Удаляет первое попавшееся вхождение элемента в списке Python:
Extend
А данный метод удаляет элемент в конкретно указанном индексе, а также выводит удалённый элемент. Если индекс не указан, метод по умолчанию удалит последний элемент:
Преобразовывает список в строку. Разделитель элементов пишут в кавычках перед методом, а сам список Питона должен состоять из строк:
Примеры работы со списками Python
Список Python — это последовательность значений любого типа: строки, числа, числа с плавающей точкой или даже смешанного типа. В этом материале речь пойдет о функциях списков, о том, как создавать их, добавлять элементы, представлять в обратном порядке и многих других.
Создать списки Python
Для создания списка Python нужно заключить элементы в квадратные скобки:
Список может выглядеть так:
Можно смешивать типы содержимого:
Поддерживаются вложенные списки как в примере выше.
Получать доступ к любому элементу списка можно через его индекс. В Python используется система индексации, начиная с нуля.
Принцип похож на строки.
Изменение списка
Списки — это изменяемые объекты, поэтому их элементы могут изменяться, или же может меняться их порядок.
Если есть такой список:
То его третий элемент можно изменить следующим образом:
Если сейчас вывести его на экран, то он будет выглядеть вот так:
Если индекс — отрицательное число, то он будет считаться с последнего элемента.
Вывод этого кода — ‘пять’.
Проход (итерация) по списку
Читать элементы списка можно с помощью следующего цикла:
Таким образом можно читать элементы списка. А вот что касается их обновления:
Результат будет следующим:
Функция len() используется для возврата количества элементов, а range() — списка индексов.
Стоит запомнить, что вложенный список — это всегда один элемент вне зависимости от количества его элементов.
Срез списка
Можно получить срез списка с помощью оператора ( : ):
Результат кода выше — [‘два’, ‘три’]
Если убрать первое число, от срез будет начинаться с первого элемента, а если второе — с последнего.
Если убрать числа и оставить только двоеточие, то скопируется весь список.
Результат этого года:
Поскольку списки изменяемые, менять элементы можно с помощью оператора среза:
Вставить в список
Метод insert можно использовать, чтобы вставить элемент в список:
Индексы для вставляемых элементов также начинаются с нуля.
Добавить в список
Метод append можно использовать для добавления элемента в список:
Можно добавить и больше одного элемента таким способом:
При этом list_2 не поменяется.
Отсортировать список
Перевернуть список
Можно развернуть порядок элементов в списке с помощью метода reverse :
Индекс элемента
Метод index можно использовать для получения индекса элемента:
Если в списке больше одного такого же элемента, функция вернет индекс первого.
Удалить элемент
Удалить элемент можно, написав его индекс в методе pop :
Если не указывать индекс, то функция удалит последний элемент.
Оператор del можно использовать для тех же целей:
Можно удалить несколько элементов с помощью оператора среза:
Функции агрегации
В Python есть некоторые агрегатные функции:
sum() работает только с числовыми значениями.
Сравнить списки
В Python 2 сравнить элементы двух списком можно с помощью функции cmp :
В Python 3 для этого используется оператор ( == ):
Математические операции на списках:
Для объединения списков можно использовать оператор ( + ):
Список можно повторить с помощью оператора умножения:
Списки и строки
Для конвертации строки в набор символов, можно использовать функцию list :
Функция list используется для того, чтобы разбивать строку на отдельные символы.
Можно использовать метод split для разбития строки на слова:
Она возвращает обычный список, где с каждым словом можно взаимодействовать через индекс.
Символом разбития может служить любой знак, а не только пробел.
Результат будет аналогичен:
Объединить список в строку
Обратный процесс — объединение элементов списка в строку.
Это делается с помощью метода join :
Алиасинг (псевдонимы)
Когда две переменные ссылаются на один и тот же объект:
Алиасинг значит, что на объект ссылается больше одного имени.
Следующий пример показывает, как меняются изменяемые списки:
Работа со списками (list) в Python
С оздание списка в Python может понадобиться для хранения в них коллекции объектов. Списки могут хранить объекты всех типов в одном, в отличие от массива в другом языке программирования. Также размер списка доступен к изменению.
Ниже разберёмся, как устроены списки, как с ними работать и приведём 6 примеров из практики.
Что такое список
Список (list) — тип данных, предназначенный для хранения набора или последовательности разных элементов.
Его можно сравнить со списком покупок для магазина: точно так же вносятся элементы, их тоже можно добавлять и корректировать.
Как списки хранятся в памяти?
Базовая C-структура списков в Python (CPython) выглядит следующим образом:
Когда мы создаём список, в памяти под него резервируется объект, состоящий из 3-х частей:
Объект списка хранит указатели на объекты, а не на сами объекты
Python размещает элементы списка в памяти, затем размещает указатели на эти элементы. Таким образом, список в Python — это массив указателей.
Базовая работа со списками
Объявление списка
Объявление списка — самый первый и главный этап его создания. Для объявления списка в Python существует несколько способов.
Вариант №1 : Через литерал (выражение, создающее объект):
>>> elements = [1, 3, 5, 6] >>> type(elements) >>> print(elements) [1, 3, 5, 6]
Вариант №2 : Через функцию list() :
>>> elements = list() >>> type(elements) >>> print(elements) []
В этом примере создается пустой список.
Обращение к элементу списка в Python
Некоторые операции, рассмотренные выше, имеют два варианта выбора элемента: либо выбор непосредственно его по имени, либо обращение по индексу. Индексом называют его порядковый номер, начиная с нуля.
Существует также отрицательный индекс, рассмотрим на примере:
elements = [1, 2, 3, ‘word’]
Нумерация элементов списка в Python начиная с нуля
>>> elements[-4] 1 >>> elements[-1] ‘word’
Добавление в список
В списках доступно добавление, изменение, удаление элементов. Рассмотрим каждый способ изменения элементов на примерах.
>>> elements = [1, 2, 3, ‘word’] >>> elements.append(‘meow’) >>> print(elements) [1, 2, 3, ‘word’, ‘meow’]
Для простого примера, рассмотрим создание списка с нуля с помощью метода append() :
>>> elements = [] >>> elements.append(1) >>> elements.append(‘word’) >>> elements.append(‘meow’) >>> print(elements) [1, ‘word’, ‘meow’]
Добавление в список на указанную позицию
>>> elements = [1, 2, 4] >>> print(elements) [1, 2, 4] >>> elements.insert(2, 3) >>> print(elements) [1, 2, 3, 4]
Изменение элементов списка
Изменение элементов списка происходит следующим образом: нужно выбрать элемент по индексу (порядковому номеру элемента) и присвоить новое значение.
>>> elements = [2, 4, 6] >>> elements[2] = 8 >>> print(elements) [2, 4, 8]
В примере выше мы заменили 6 на 8.
Не забывайте, что счёт начинается с нуля, и в данном списке цифра 6 это 2-й элемент
Удаление элемента из списка
>>> elements = [1, «test», 5, 7] >>> del elements[1] >>> print(elements) [1, 5, 7]
Удалять можно как из текущего списка, так и из вложенных списков:
>>> my_list = [«hello», «world», «!»] >>> elements = [1, my_list, «ok»] >>> del elements[1][2] >>> print(elements) [1, [‘hello’, ‘world’], ‘ok’]
Можно удалять целыми диапазонами:
>>> elements = [2, 4, 6, 8, 12] >>> del elements[2:] # удаляем все элементы после 2-го элемента (включительно) >>> print(elements) [2, 4] >>> elements = [2, 4, 6, 8, 12] >>> del elements[:3] # удаляем все элементы до 3-го элемента >>> print(elements) [8, 12] >>> elements = [2, 4, 6, 8, 12] >>> del elements[1:3] # удаляем от 1-го элемента включительно до 3-го элемента >>> print(elements) [2, 8, 12]
>>> elements = [2, «test», 4] >>> elements.remove(«test») >>> print(elements) [2, 4]
Как проверить наличие элемента в списке
>>> elements = [‘слон’, ‘кот’, ‘лошадь’, ‘змея’, ‘рыба’] >>> if ‘кот’ in elements: print(‘meow’) meow
Объединение списков
>>> a = [1, 3, 5] >>> b = [1, 2, 4, 6] >>> print(a + b) [1, 3, 5, 1, 2, 4, 6] >>> hello = [«h», «e», «l», «l», «o»] >>> world = [«w», «o», «r», «l», «d»] >>> hello.extend(world) # extends не возвращает новый список, а дополняет текущий >>> print(hello) [‘h’, ‘e’, ‘l’, ‘l’, ‘o’, ‘w’, ‘o’, ‘r’, ‘l’, ‘d’]
Копирование списка Python
>>> a = [1, 2, 3] >>> b = a # переменно b присваивается не значение списка a, а его адрес >>> print(id(a), id(b)) 56466376 56466376 # a и b ссылаются на один и тот же список >>> b.append(4) >>> print(a, b) [1, 2, 3, 4] [1, 2, 3, 4]
Для копирования списков можно использовать несколько вариантов:
Рассмотрим на примере каждый из этих способов:
>>> a = [«кот», «слон», «змея»] >>> b = a.copy() >>> print(id(a), id(b), a, b) 56467336 56467016 [‘кот’, ‘слон’, ‘змея’] [‘кот’, ‘слон’, ‘змея’] >>> d = list(a) >>> print(id(a), id(d), a, d) 56467336 60493768 [‘кот’, ‘слон’, ‘змея’] [‘кот’, ‘слон’, ‘змея’] >>> import copy >>> e = copy.copy(a) # >>> print(id(a), id(e), a, e) 56467336 60491304 [‘кот’, ‘слон’, ‘змея’] [‘кот’, ‘слон’, ‘змея’] >>> f = copy.deepcopy(a) >>> print(id(a), id(f), a, f) 56467336 56467400 [‘кот’, ‘слон’, ‘змея’] [‘кот’, ‘слон’, ‘змея’] >>> c = a[:] # устаревший синтаксис >>> print(id(a), id(c), a, c) 56467336 60458408 [‘кот’, ‘слон’, ‘змея’] [‘кот’, ‘слон’, ‘змея’]
Важно : copy.copy(a) делает поверхностное копирование. Объекты внутри списка будут скопированы как ссылки на них (как в случае с оператором = ). Если необходимо рекурсивно копировать всех элементов в списке, используйте copy.deepcopy(a)
Скопировать часть списка можно с помощью срезов. Есть несколько вариантов использования:
>>> a = [«кот», «слон», «змея»] >>> b = a[2:] # с 2-го элемента (включительно) до конца списка >>> print(b) [‘змея’] >>> c = a[:2] # с начала списка по 2-й элемент >>> print(c) [‘кот’, ‘слон’] >>> d = a[1:2] # с 1-го элемента (включительно) по 2-й элемент >>> print(d) [‘слон’] >>> a = [1, 2, 3, 4, 5, 6, 7, 8] >>> e = a[0:8:2] # c 0-го элемента по 8-й элемент с шагом 2 >>> print(e) [1, 3, 5, 7]
Цикл по списку
elements = [1, 2, 3, «meow»] for el in elements: print(el)
elements = [1, 2, 3, «meow»] elements_len = len(elements) i = 0 while i
Методы списков
Пример использования методов:
# append >>> a = [1, 2, 3] >>> a.append(4) print(a) [1, 2, 3, 4] # extend >>> elements = [1, 2, 3, «meow»] >>> elements.extend([4, 5, «gaf»]) >>> print(elements) [1, 2, 3, ‘meow’, 4, 5, ‘gaf’] # insert >>> a = [1, 3, 4] >>> a.insert(1, 2) >>> print(a) [1, 2, 3, 4] # remove >>> elements = [1, «meow», 3, «meow»] >>> elements.remove(«meow») >>> print(elements) [1, 3, ‘meow’] # remove удаляет только первое вхождение # clear >>> a = [1, 2, 3] >>> a.clear() >>> print(a) [] # copy >>> a = [1, 2, 3] >>> b = a.copy() >>> print(id(a), id(b), a, b) 60458408 60491880 [1, 2, 3] [1, 2, 3] # count >>> elements = [«one», «two», «three», «one», «two», «one»] >>> print(elements.count(«one»)) 3 # index >>> elements = [«one», «two», «three», «one», «two», «one»] >>> print(elements.index(«three»)) 2 # pop >>> elements = [1, «meow», 3, «meow»] >>> elements.pop(1) # удаляем элемент с индексом 1 ‘meow’ # pop возвращает удаленный элемент списка >>> print(elements) [1, 3, ‘meow’] >>> elements.pop() # удаляем первый элемент списка ‘meow’ >>> print(elements) [1, 3] >>> elements.pop(-1) # удаляем последний элемент списка 3 >>> print(elements) [1] # reverse >>> a = [1, 2, 3] >>> a.reverse() >>> print(a) [3, 2, 1] # sort (по возрастанию) >>> elements = [3, 19, 0, 3, 102, 3, 1] >>> elements.sort() >>> print(elements) [0, 1, 3, 3, 3, 19, 102] # sort (по убыванию) >>> elements = [3, 19, 0, 3, 102, 3, 1] >>> elements.sort(reverse = True) >>> print(elements) [102, 19, 3, 3, 3, 1, 0]
Вложенные списки
Список может содержать объекты разных типов: числовые, буквенные, а также списки. Список списков выглядит следующим образом:
>>> elements = [1, 2, [0.1, 0.2, 0.3]]
Для обращения к элементу вложенного списка нужно использовать два индекса: первый указывает на индекс главного списка, второй — индекс элемента во вложенном списке. Вот пример:
>>> elements = [[«яблоки», 50], [«апельсины», 190], [«груши», 100]] >>> print(elements[0]) [‘яблоки’, 50] >>> print(elements[1][0]) апельсины
Срезы
Срезы (slices) — это подмножества элементов списка. Срезу нужны, когда необходимо извлечь часть списка из полного списка.
У них есть свой собственный синтаксис. Записывается срез так же, как обращение к элементу, используя индекс. Пример:
В этом случае берётся срез от номера start (включительно) до stop (не включая его), а step — это шаг. По умолчанию start и stop равны 0, step равен 1.
Генераторы списков
>>> c = [c * 3 for c in ‘list’] >>> print(c) [‘lll’, ‘iii’, ‘sss’, ‘ttt’]
Таким образом мы получили отдельно взятые утроенные буквы слова, введённого в кавычки. Есть множество вариантов применения генератора списков.
Пример генератора списка:
>>> nums = [i for i in range(1, 15)] >>> print(nums) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
Best Practices
Последние абзацы статьи будут посвящены лучшим решениям практических задач, с которыми так или иначе сталкивается Python-разработчик.
Как получить список в обратном порядке
Изменить порядок размещения элементов в списке помогает функция list.reverse() :
>>> elements = [1, 2, 3, 4, 5, 6] >>> elements.reverse() >>> print(elements) [6, 5, 4, 3, 2, 1]
Как перевести список в другой формат?
Иногда требуется перевести список в строку, в словарь или в JSON. Для этого нужно будет вывести список без скобок.
Перевод списка в строку осуществляется с помощью функции join(). На примере это выглядит так:
>>> fruits = [«яблоко», «груша», «ананас»] >>> print(‘, ‘.join(fruits)) яблоко, груша, ананас
В данном случае в качестве разделителя используется запятая.
>>> elements = [[‘1’, ‘a’],[‘2’, ‘b’],[‘3’, ‘c’]] >>> my_dict = dict(elements) >>> print(my_dict)
JSON — это JavaScript Object Notation. В Python находится встроенный модуль json для кодирования и декодирования данных JSON. С применением метода json.dumps(x) можно запросто преобразовать список в строку JSON.
>>> import json >>> json.dumps([‘word’, ‘eye’, ‘ear’]) ‘[«word», «eye», «ear»]’
Как узнать индекс элемента в списке?
>>> elements = [1, 3, 6, 9, 55] >>> print(elements.index(9)) 3
В качестве аргумента передаем значение, а на выходе получаем его индекс.
Как посчитать количество уникальных элементов в списке?
Самый простой способ — приведение списка к set (множеству). После этого останутся только уникальные элементы, которые мы посчитаем функцией len() :
>>> words = [«one», «two», «one», «three», «one»] >>> len(set(words)) 3
Как проверить список на пустоту?
Как создать список числовых элементов с шагом
Создание списка числовых элементов с шагом может понадобиться не так и часто, но мы рассмотрим пример построения такого списка.
Шагом называется переход от одного элемента к другому. Если шаг отрицательный, произойдёт реверс массива, то есть отсчёт пойдёт справа налево. Вот так выглядит список с шагом.
>>> elements = [1, 2, 3, 4, 5, 8, 9, 10, 11, 14, 20] >>> print(elements[0:11:2]) [1, 3, 5, 9, 11, 20]
Еще один вариант — воспользоваться генератором списков:
>>> elements = [c for c in range(0, 10, 2)] # от 0 (включительно) до 10 с шагом 2 >>> print(elements) [0, 2, 4, 6, 8]
При разработке на языке Python, списки встречаются довольно часто. Знание основ работы со списками поможет быстро и качественно писать программный код 😉.
Списки(list) в Python – подробно с примерами
Python состоит из шести типов данных, которые могут хранить последовательности, но наиболее распространенным и надежным типом является список.
Что такое список в Python?
Списки в Python используются для хранения последовательности различных типов данных. Список определяется как набор значений или элементов разных типов. Элементы в списке разделяются запятой(,) и заключаются в квадратные скобки []. Списки являются изменяемым типом, это означает, что мы можем изменить его элемент после его создания.
Список можно определить, как показано ниже:
Если мы попытаемся распечатать тип L1, L2 и L3 с помощью функции type(), то получится список.
Характеристики списков
Список имеет следующие характеристики:
Давайте проверим первое утверждение, что списки упорядочены.
Оба списка состояли из одних и тех же элементов, но второй список изменил позицию индекса 5-го элемента, что нарушает порядок списков. При сравнении списков возвращается false.
Списки поддерживают порядок элементов на протяжении всего существования. Вот почему это упорядоченный набор объектов.
Давайте подробно рассмотрим пример списка.
В приведенном выше примере мы создали списки, состоящие из сведений о сотрудниках и отделах, и напечатали соответствующие данные. Обратите внимание на приведенный выше код, чтобы лучше понять концепцию списка.
Индексирование и расщепление списка
Индексация выполняется так же, как и со строками. Доступ к элементам списка можно получить с помощью оператора slice[].
Индекс начинается с 0 и увеличивается на 1. Первый элемент списка сохраняется в 0-м индексе, второй элемент списка сохраняется в 1-м индексе и так далее.
Мы можем получить подсписок списка, используя следующий синтаксис.
Рассмотрим следующий пример:
Давайте посмотрим на следующий пример, где мы будем использовать отрицательную индексацию для доступа к элементам списка.
Как мы обсуждали выше, мы можем получить элемент, используя отрицательную индексацию. В приведенном коде первая инструкция печати вернула самый правый элемент списка. Второй оператор печати вернул подсписок и так далее.
Обновление значений списка
Списки являются наиболее универсальными структурами данных в Python, поскольку они изменяемы, а их значения можно обновлять с помощью оператора slice и assignment.
Python также предоставляет методы append() и insert(), которые можно использовать для добавления значений в список.
Рассмотрим следующий пример, чтобы обновить значения внутри списка.
Элементы списка также можно удалить с помощью ключевого слова del. Python также предоставляет нам метод remove(), если мы не знаем, какой элемент нужно удалить из списка.
Рассмотрим следующий пример, чтобы удалить элементы списка.
Операции со списком Python
Операторы concatenation(+) и repetition(*) работают так же, как и со строками.
Посмотрим, как список реагирует на разные операторы.
Оператор | Описание | Пример |
---|---|---|
repetition | Оператор повторения позволяет повторять элементы списка несколько раз. | |
concatenation | Он объединяет список, указанный по обе стороны от оператора. | |
Membership | Возвращает истину, если конкретный элемент существует в определенном списке, в противном случае – ложь. | |
Iteration | Цикл for используется для перебора элементов списка. | |
Length | Используется для получения длины списка |
Итерация списка
Список можно повторять с помощью цикла for – in. Простой список, содержащий четыре строки, которые можно повторять следующим образом.
Добавление элементов в список
Python предоставляет функцию append(), которая используется для добавления элемента в список. Однако функция append() может добавлять значение только в конец списка.
Рассмотрим следующий пример, в котором мы берем элементы списка у пользователя и выводим список на консоль.
Удаление элементов из списка
Python предоставляет функцию remove(), которая используется для удаления элемента из списка. Рассмотрим следующий пример, чтобы понять эту концепцию.
Встроенные функции
Python предоставляет следующие встроенные функции, которые можно использовать со списками.
SN | Функция | Описание | Пример |
---|---|---|---|
1 | cmp(list1, list2) | Сравнивает элементы обоих списков. | Этот метод не используется в Python 3 и вышеупомянутых версиях. |
2 | len(list) | Используется для расчета длины списка. | |
3 | max(list) | Возвращает максимальный элемент списка. | |
4 | min(list) | Возвращает минимальный элемент списка. | |
5 | list(seq) | Преобразует любую последовательность в список. |
Давайте посмотрим на несколько примеров списков.
Пример: 1- Напишем программу для удаления повторяющегося элемента списка.
Пример: 2- Напишем программу, чтобы найти сумму элементов в списке.
Пример: 3- Программа для поиска списков, состоящих как минимум из одного общего элемента.