JavaRush /Курсы /Модуль 1: Python Core /Коллекция List

Коллекция List

Модуль 1: Python Core
5 уровень , 0 лекция
Открыта

1.1 Список элементов

В языке Python есть несколько встроенных типов данных, которые позволяют хранить группу объектов. Это list — список, tuple — кортеж, set — множество, dictionary — словарь. Сегодня мы рассмотрим самый простой и самый используемый из них — список.

Список (List) позволяет хранить в себе список элементов. У каждого из элементов есть закрепленный за ним порядковый номер. Поэтому наш список называют упорядоченным — ordered. Как мы дальше убедимся, не все коллекции в Python такие.

Также наш список можно менять — добавлять новые элементы, удалять старые, менять порядок элементов и т.п. Эти действия дают нам вторую характеристику нашего списка — изменяемый (changeable). Это свойство тоже имеется не у всех коллекций.

И третья важная характеристика нашего списка — он разрешает хранить одни и те же элементы по нескольку раз — allow duplicates — разрешает дубликаты. Ниже мы разберем все эти свойства подробнее.

1.2 Создание списка

Создать список можно несколькими способами.

Использование квадратных скобок

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


my_list = [1, 2, 3, 'apple', 'banana']
        

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

Чтобы создать пустой список, можно просто использовать пустые квадратные скобки:


empty_list = []
        

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

Использование функции list()

Функция list() преобразует переданный элемент в список.


my_list = list('hello')
        

Будет создан список из пяти элементов: ['h', 'e', 'l', 'l', 'o'], так как строка 'hello' является итерируемым объектом, и list() разбивает ее на отдельные символы..

Если вам нужно преобразовать в список несколько элементов, то вам нужно передать их в функцию list в виде кортежа (tuple). Для этого нужно список элементов обернуть в круглые скобки. Пример:


my_list = list((1, 2, 3, 'apple', 'banana'))
        

Также с помощью функции list() можно создать пустой список, если не передавать в неё никаких аргументов:


empty_list = list()
        

1.3 Список методов

Списки в Python обладают множеством методов, позволяющих эффективно управлять коллекциями данных. Вот некоторые из самых популярных методов класса list:

Метод Описание
append() Добавляет элемент в конец списка.
extend() Расширяет список, добавляя в конец все элементы из указанной последовательности.
insert() Вставляет элемент на указанную позицию.
remove() Удаляет первое вхождение элемента.
pop() Удаляет элемент по индексу и возвращает его.
clear() Удаляет все элементы из списка.
index() Возвращает индекс первого вхождения элемента.
count() Подсчитывает количество вхождений элемента в списке.
sort() Сортирует элементы списка на месте.
reverse() Разворачивает элементы списка на месте.

Ниже мы разберем нюансы работы всех этих методов и даже немножко больше.

2
Задача
Модуль 1: Python Core, 5 уровень, 0 лекция
Недоступна
Квадратный список
Квадратный список
2
Задача
Модуль 1: Python Core, 5 уровень, 0 лекция
Недоступна
Ожидание стопа
Ожидание стопа
Комментарии (27)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Денис Михеев Уровень 8
12 июня 2026
first_list = list(range(-100, 101)) square_list = list(map(lambda x: x**2, first_list)) print(square_list)
Олег Сычев Уровень 9
13 мая 2026
В задаче "Квадратный список" уточнить бы как выводить сприсок... В первый раз его вывел через цикл for, что б по красоте было - валидатор начал ругаться, при чем, не уточняет причину - просто говорит айяйяй, пункт о выведении списка не выполнен. В итоге, вывел без цикла for - просто через print() - валидатор задачу принял.
Alex Уровень 30
10 февраля 2026
Валидатор пропустил мой не правильный код: my_list = [] items = input("Введите элементы") while items != "стоп": my_list.append(items) print(my_list)
Frintezza69 Уровень 8
14 января 2026
Следуя из подсказок в комментариях и моих мыслей, кратчайший вариант будет empty_list = list() for i in range(-100,101): empty_list.append(i **2) print(empty_list)
Andrew Уровень 9
20 июня 2026
squares = list(n**2 for n in range(-100, 101)) print(squares)
Anonymous #3526511 Уровень 9
5 января 2026
Вот что они хотят!!!!! Я специально не использовала подсказки empty_list = [] for i in range(-100,101): empty_list.append(i) new_list = list() for i in empty_list: new_list.append(i**2) print(new_list)
Alex T. Уровень 29
22 февраля 2026
А зачем два списка, если в цикле можно добавлять сразу квадрат i?
mila Уровень 20
6 апреля 2025
changeable?? почему сразу не приучить к нормальному определению - mutable/immutable
SWK Уровень 26
17 марта 2025
Было бы уместно объяснить, почему не работает так:

result = list(range(-100,101))
for i in result:
    i = i**2 # тут элемент result не меняется
print(result)
Олег Никулин Уровень 69
19 марта 2025
Вам надо обращаться к элементу списка так: result[i], перебирать диапазон от -100 до 100 и добавлять квадрат числа в список. Для начала, создав его пустым
SWK Уровень 26
20 марта 2025
Я смутно догадываюсь, как надо. Но, одновременно, я считаю полезным пояснить, почему не работает вышеприведённый вариант.
Олег Никулин Уровень 69
20 марта 2025
Потому, что Вы пытаетесь присвоить значение переменной, а не элементу списка. Элементу списка значение присваивается по индексу: result[i]
SWK Уровень 26
21 марта 2025
Вам не показалось, что там во второй строчке написано "for i in result:"? result - список, он состоит из как вы выражаетесь "элементов списка". i для которых выполняется цикл и которые "in result" вроде как бы должны быть те самые элементы. Может это, конечно, и переменная. Но мы же, вроде как, помним, что переменные в пайтоне - ссылки? Ну и т.д. ....
bbirdy Уровень 13
8 мая 2025
цикл поочередно присваевает переменной i значения после слова in, затем этой же переменной вы присваиваете квадрат ее значения, это никак не влияет на элементы списка result
bbirdy Уровень 13
8 мая 2025
так же важно помнить, что в данном случае i является временной копией значения элемента в списке, а присвоение i = i ** 2 создает новую переменную в текущей области видимости, тем самым исходный список и его элементы в памяти остаются без изменений
Apollo Уровень 2
10 марта 2025
Вторую задачу решил, но валидатор не пропустил. Взял решение из правильных, валидатор не пропустил 🤣 Админы! Исправьте валидатор! С десятого нажатия валидатор принял решение, итого - 10 попыток))) 👍
Дмитрий Уровень 27
14 февраля 2025
Уточните во втором задании, что слово "стоп" не надо добавлять в список. Это неочевидно.
SWK Уровень 26
17 марта 2025
Таки, да. Особенно, учитывая условие №3:

Программа должна добавлять каждый введенный пользователем элемент в список.
Каждый. Пользователь вводит слово "стоп".
Roman Уровень 21
11 января 2025
Короче первое на погуглить генераторы списков.