Урок 16

Работа со списками

Работа со списками

В этом уроке: вы будете искать в списке, сортировать его и строить новые списки.

Весь урок на одной странице

Работа со списками

В этом уроке: вы будете искать в списке, сортировать его и строить новые списки.

Поиск

1тағ номҳо = ["Алӣ", "Зарина", "Фарҳод"];
2чоп(номҳо.дорад("Зарина"));
3чоп(номҳо.индекси("Фарҳод"));
4чоп(номҳо.индекси("Сино"));
  • дорад(х) («содержит») - есть ли х в списке: дуруст или нодуруст.
  • индекси(х) - индекс х или -1, если его нет.

Сортировка

1тағ рақамҳо = [30, 4, 100, 25];
2рақамҳо.тартиб((а, б) => а - б);
3чоп(рақамҳо);

тартиб («порядок») упорядочивает числа по возрастанию, если передать ему (а, б) => а - б. Эта короткая функция говорит, какое число идёт раньше.

Новый список: филтр и харита

1тағ холҳо = [55, 92, 47, 78, 30];
2тағ гузаштагон = холҳо.филтр(х => х >= 50);
3тағ дучанд = холҳо.харита(х => х * 2);
4чоп("Гузаштагон:", гузаштагон);
5чоп("Дучанд:", дучанд);
  • филтр оставляет только элементы, для которых условие дуруст.
  • харита строит новый список из результатов функции для каждого элемента; сам холҳо не меняется.
  • х => х >= 50 - короткая функция: принимает х и возвращает х >= 50.

Задача: Больше среднего

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

Ввод: Первая строка - количество чисел н, затем н строк, в каждой по числу.

Вывод: Числа больше среднего.

Задача: Сортировка

Прочитайте числа в список и выведите их по возрастанию, каждое в отдельной строке.

Ввод: Первая строка - количество чисел н, затем н строк, в каждой по числу.

Вывод: Числа по возрастанию.

Задача: Поиск

Прочитайте числа в список, затем искомое число. Выведите его первый индекс в списке или -1, если его нет.

Ввод: Первая строка - н, затем н чисел, затем искомое число.

Вывод: Индекс или -1.

Задача: Без повторов

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

Ввод: Первая строка - количество чисел н, затем н строк, в каждой по числу.

Вывод: Числа без повторов.