Python_практикум. Методическое пособие для практических и лабораторных работ для студентов направлений подготовки
Скачать 267 Kb.
|
5. Списки ( тип данных list )Список (list) – это структура данных для хранения совокупностей объектов различных типов. Создать список можно одним из следующих способов. a = [] b = list() В обоих случаях создается пустой список. Можно создать список с заранее заданным набором данных. a = [ 1 , 2 , 3 ] Важно: нумерация элементов списка начинается с нуля! Если у вас уже есть список и вы хотите создать его копию, то можно воспользоваться следующим способом: a = [ 1 , 3 , 5 , 7 ] b = a[:] В случае, если вы выполните простое присвоение списков друг другу, то переменной b будет присвоена ссылка на тот же элемент данных в памяти, на который ссылается a, а не копия списка а. Т.е. если вы будете изменять список a, то и b тоже будет меняться. Обращение к элементу списка происходит по индексу. a = [ 1 , 3 , 5 , 7 , 8] print(a[2]) получим 5 Для получения из списка некоторого подсписка (он называется срез списка) в определенном диапазоне индексов, укажите начальный и конечный индекс в квадратных скобках, разделив их двоеточием. print(a[ 1 : 4 ] получим [ 3 , 5 , 7 ] Можно использовать отрицательные индексы, в таком случае счет будет идти с конца, например, для доступа к последнему элементу списка можно использовать a[ -1 ] Добавление элемента в список осуществляется с помощью метода append() . a = [] a.append( 3 ) a.append( "hello" ) print (a) получим [ 3 , 'hello' ] Для удаления элемента из списка по известному значению используйте метод remove(x), при этом будет удалена первая ссылка на данный элемент. b = [ 2 , 3 , 5 ] b.remove( 3 ) print (b) получим [ 2 , 5 ] Для удаления элемента по его индексу служит команда del имя_списка[индекс]. c = [ 3 , 5 , 1 , 9 , 6 ] del c[ 2 ] print (c) получим [ 3 , 5 , 9 , 6 ] Изменить значение элемента списка, зная его индекс, можно обратившись напрямую к нему. d = [ 2 , 4 , 9 ] d[ 1 ] = 17 print (d) получим [ 2 , 17 , 9 ] Количество элементов в списке определяется с помощью функции len. print(len(d)) получим 3 Создать список из n одинаковых (например, нулевых) элементов можно так: a = [0] * n Метод sort() сортирует элементы в списке по возрастанию. Метод reverse() изменяет порядок расположения элементов в списке на обратный. a = [ 1 , 4 , 2 , 8 , 1 ] a.sort() print (a) a.reverse() print (a) получим [ 1 , 1 , 2 , 4 , 8 ] [ 8 , 4 , 2 , 1 , 1 ] Цикл перебора всех элементов списка выглядит так: for elem in a: print(elem) напечатаются все элементы списка по одному в строке. Если нужно напечатать все элементы списка в одну строку, можно сделать так: for elem in a: print(elem, end = ",") При этом символ, заключенный в кавычки (в данном примере это запятая, будет стоять после каждого элемента. Больше информации о списках можно найти в [2]-[4] Задания Все задания поместите в одном файле. Каждую задачу сопроводите комментарием в коде программы и пояснением при выводе результатов, например, print("Решение задачи 3 "). Напишите программу, которая создает и печатает список из 10 введенных пользователем слов. Напишите программу, которая создает и печатает список из 10 введенных пользователем целых чисел. Напишите программу, которая создает и печатает список из 10 случайных целых чисел в диапазоне от -30 до 30. Дополните предыдущую программу выводом того же списка в обратном порядке, в порядке возрастания, в порядке убывания. Дополните предыдущую программу выводом среза списка от номера n до номера m, n и m вводятся пользователем. Дополните предыдущую программу выводом положительных элементов того же списка. Для этого вам потребуется использовать цикл по элементам списка. Дополните предыдущую программу выводом элементов того же списка, стоящих на четных позициях. Дополните предыдущую программу выводом элементов того же списка, являющихся четными числами. Дополните предыдущую программу поиском в списке введенного пользователем числа. Если оно есть в списке, нужно напечатать его номер, если таких чисел несколько, то номер первого из них. Если числа в списке нет, нужно вывести сообщение об этом. Создайте список из 20 случайных целых чисел в диапазоне от -3 до 3 и напечатайте его. Удалите из него все нулевые элементы и напечатайте, что осталось. Создайте список из 20 случайных целых чисел в диапазоне от -3 до 3 и напечатайте его. Удалите из него все отрицательные элементы и напечатайте оставшийся список. |