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 лекция
Недоступна
Ожидание стопа
Ожидание стопа
Комментарии (18)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
mila Уровень 20
6 апреля 2025
changeable?? почему сразу не приучить к нормальному определению - mutable/immutable
SWK Уровень 25
17 марта 2025
Было бы уместно объяснить, почему не работает так:

result = list(range(-100,101))
for i in result:
    i = i**2 # тут элемент result не меняется
print(result)
Олег Никулин Уровень 23
19 марта 2025
Вам надо обращаться к элементу списка так: result[i], перебирать диапазон от -100 до 100 и добавлять квадрат числа в список. Для начала, создав его пустым
SWK Уровень 25
20 марта 2025
Я смутно догадываюсь, как надо. Но, одновременно, я считаю полезным пояснить, почему не работает вышеприведённый вариант.
Олег Никулин Уровень 23
20 марта 2025
Потому, что Вы пытаетесь присвоить значение переменной, а не элементу списка. Элементу списка значение присваивается по индексу: result[i]
SWK Уровень 25
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 Уровень 22
10 марта 2025
Вторую задачу решил, но валидатор не пропустил. Взял решение из правильных, валидатор не пропустил 🤣 Админы! Исправьте валидатор! С десятого нажатия валидатор принял решение, итого - 10 попыток))) 👍
Дмитрий Уровень 27
14 февраля 2025
Уточните во втором задании, что слово "стоп" не надо добавлять в список. Это неочевидно.
SWK Уровень 25
17 марта 2025
Таки, да. Особенно, учитывая условие №3:

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

squares = list(x**2 for x in range(-100, 101))
print(squares)
Alexander Уровень 21
27 декабря 2024
это вроде похоже на лямбду функцию, которую пока не проходили
Sergey Уровень 14
5 января 2025
это генератор списков. Лекций на эту тему еще не было
Andrey Kochegarov Уровень 64
15 февраля 2025
можно было и так написать:

myList = []
for i in range(-100, 101):
    i **= 2
    myList.append(i)
print(myList)
Александр Уровень 39
16 июля 2024
1. Перед циклом нужно создать пустой список. 2. До 100 включительно.
Arslonbek Уровень 53
20 августа 2024
перед циклом создай пустой список и в цикле используй range для генерации чисел дальше все просто