Список можно описать, как набор пронумерованных переменных (элементов списка). То есть вместо того, чтобы вводить 10 переменных с разными именами, мы можем ввести список, где под одним именем будет 10 переменных под разными номерами.

         Учитывая, что мы изучили цикл for с помощью него было бы удобно перебирать элементы списка, таким образом, что счетчик цикла будет выступать в роли номера.

         Рассмотрим, как работать со списками на python.

         Объявление списка:

         *имя списка*=[] 

         Когда мы его только объявили в нем нет ни одного элемента. Далее в программе мы можем добавить в него элементы.

         *имя списка*.append(*добавляемый элемент*)

         Далее в программе мы можем обратиться к элементу списка под определенным номером (также как обращались к символам в строке):

         *имя списка*[*номер элемента*]

         В python нумерация элементов списка начинается с нуля (также как и у символов в строке).

         Пример

         Дан рост десяти человек. Необходимо рассчитать сколько среди них тех, кто выше 170.

 

#Объявляем список
heights=[]
#Запускаем цикл для считывания роста 10 человек
for i in range(0,10,1):
#Считываем рост очередного человека
heights.append(int(input()))
#Обнуляем переменную c
c=0
#Запускаем цикл для поиска людей выше 170
for i in range(0,10,1):
#Проверяем, что человек под номером i выше 170
if heights[i]>170:
#Если человек выше 170, то увеличиваем c на 1
c=c+1
#Когда цикл закончился выводим результат
print(c)

Также стоит отметить, что в примере выше мы инициализировали heights как пустой список, но также у нас есть возможность добавлять в список значения на этапе инициализации. heights=[175,166,172] - список из трех элементов.

С помощью ключевого слова list можно получить список из другой коллекции. На примере строки запись letters=list("asdf") равносильна записи letters=["a","s","d","f"].

Еще в python присутствует возможность умножать список на целое число n, таким образом дублируя элементы списка n раз (аналогично со строками). Следующие две строки создают одинаковые списки.

heights=[175,166]*4

heights=[175,166,175,166,175,166,175,166]

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

[175,156]+[180,176,177]=[175,156,180,176,177]

И также как и со строками мы можем проверить наличие элемента в списке с помощью ключевого слова in. 176 in [165,177,176] вернет true, а 176 in [165,177,180] вернет false.

Помимо метода append для работы со списками существует ряд других методов и функций. Они представлены в таблице ниже. Пусть список heights=[180,176,177,176].

 

Метод/функция

Пример использования

Комментарий

append(item)

heights.append(165)

Результат heights=[180,176,177,176,165]

Добавляет элемент item в конец списка.

insert(index, item)

heights.insert(1,165)

Результат heights=[180,165,176,177,176]

Добавляет элемент item на позицию index.

extend(items)

heights.extend([175,166])

Результат heights=[180,176,177,176,175,166]

Добавляет набор элементов items в конец списка.

remove(item)

heights.remove(176)

Результат heights=[180,177,176]

Удаляет первое вхождение элемента item.

clear()

heights.clear()

Результат heights=[]

Удаляет все элементы из списка.

index(item)

x=heights.index(177)

Результат x=2

Возвращает индекс элемента item.

pop(index)

pop()

heights.pop(2)

Результат heights=[180,176,176]

heights.pop()

Результат heights=[180,176,177]

Удаляет элемент под номером index. Если номер не указан, то удаляется последний элемент.

count(item)

x=heights.count(176)

Результат x=2

Подсчитывает количество элементов item в списке.

sort(key)

sort()

heights.sort()

Результат heights=[176,176,177,180]

words.sort(key=len)

Результат words=["end", "begin", "continue"]

Cортирует список по возрастанию. С помощью key можем указать функцию сортировки. Так в колонке слева для списка words=["begin","continue","end"] приведен пример сортировки по количеству символов у элемента.

reverse()

heights.reverse()

Результат heights=[176,177,176,180]

Разворачивает список.

copy()

values=heights

values[1]=165

Результат heights=[180,165,177,176]

values=heights.copy()

values[1]=165

Результат heights=[180,176,177,176]

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

len(list)

x=len(heights)

Результат x=4

Возвращает количество элементов списка.

sorted(list)

sorted(list, key)

newHeights=sorted(heights)

Результат newHeights=[176,176,177,180]

Возвращает отсортированный список list. Аналогично с методом sort в функцию sorted может быть передан ключ сортировки.

min(list)

x=min(heights)

Результат x=176

Возвращает минимальный элемент из списка list.

max(list)

x=max(heights)

Результат x=180

Возвращает максимальный элемент из списка list.

Последнее изменение: пятница, 8 августа 2025, 12:33