Пазлы списков (Lists)
Список - это упорядоченная коллекция элементов, например, список "to do" или список покупок. Элементы в списке могут быть любого типа, и одно и то же значение может появляться в списке несколько раз.
![](files/puzzles/puzzles-lists.jpg)
Содержание
Введение
Списки очень полезны, когда вам нужно обработать несколько элементов, например, объектов, в большом количестве. Кроме того, в списке можно хранить любую информацию, например, настраиваемые параметры, свойства похожих элементов HTML, значения RGB, координаты и т.д.
Перечень пазлов
create
Этот пазл позволяет создать новый список и указать начальные значения. Дополнительные исходные данные добавляются путем перетаскивания блока item из серой панели инструментов слева в блок list.
![](files/puzzles/puzzles-lists-create.jpg)
Следующий пример скрывает все 3 объекта, указанные в списке, как только пользователь щелкает на кубе.
![](files/puzzles/puzzles-lists-create-example.jpg)
Списки могут быть вложенными (например, список списков) или не иметь записей, указанных в какой-либо из позиций. В последнем случае в пропущенную позицию автоматически помещается значение null.
![](files/puzzles/puzzles-lists-create-example2.jpg)
length
Этот пазл подсчитывает количество элементов в указанном списке. Значения null, автоматически вставленные в пропущенные позиции, также будут подсчитаны.
![](files/puzzles/puzzles-lists-length.jpg)
Пример:
![](files/puzzles/puzzles-lists-length-example.jpg)
get / remove
Этот пазл извлекает (и/или удаляет) элемент с указанной позиции (элементы в списке индексируются, начиная с 0).
![](files/puzzles/puzzles-lists-get-remove.jpg)
Пример:
![](files/puzzles/puzzles-lists-get-remove-example.jpg)
set / insert
Этот пазл позволяет добавлять элементы в список. Вариант set заменяет элемент на указанной позиции в списке другим элементом (длина списка остается прежней). Вариант insert добавляет новый элемент в список на указанную позицию, смещая элемент, находившийся ранее на этой позиции (тем самым увеличивая длину списка). Помните, что элементы в списке индексируются, начиная с 0.
![](files/puzzles/puzzles-lists-set-insert.jpg)
Пример:
![](files/puzzles/puzzles-lists-set-insert-example.jpg)
create empty
Этот пазл создает новый пустой список, который будет заполнен элементами позже.
![](files/puzzles/puzzles-lists-create-empty.jpg)
Пример:
![](files/puzzles/puzzles-lists-create-empty-example.jpg)
create with item repeated
Этот пазл создает новый список и инициализирует все позиции с одним и тем же заданным элементом. Основное отличие от варианта create empty в том, что список инициализируется с заранее определенной длиной и с некоторыми начальными значениями.
![](files/puzzles/puzzles-lists-create-with-item-repeated.jpg)
Пример:
![](files/puzzles/puzzles-lists-create-with-item-repeated-example.jpg)
reverse
Этот пазл создает новый список, заполненный элементами из исходного списка в обратном порядке. Исходный список не будет изменен.
![](files/puzzles/puzzles-lists-reverse.jpg)
Пример:
![](files/puzzles/puzzles-lists-reverse-example.jpg)
is empty
Этот пазл проверяет, не содержит ли заданный список элементов, и выдает true в этом случае, или false в противном. Для использования с пазлами Логики.
![](files/puzzles/puzzles-lists-is-empty.jpg)
Пример:
![](files/puzzles/puzzles-lists-is-empty-example.jpg)
find
Этот пазл может быть использован для проверки того, содержится ли элемент в списке и, если да, то где он находится. Если элемент найден, то выдается его позиция (элементы в списке индексируются, начиная с 0). Если элемент не найден, пазл возвращает -1.
![](files/puzzles/puzzles-lists-find.jpg)
Пример:
![](files/puzzles/puzzles-lists-find-example.jpg)
check item
Этот пазл может быть использован для проверки того, содержится ли элемент в списке. Если элемент найден, то выдается булево значение true. Если элемент не найден, пазл выдает значение false.
![](files/puzzles/puzzles-lists-check-item.jpg)
get sub-list
Этот пазл позволяет извлечь область списка между двумя указанными позициями в качестве нового списка (элементы в списке индексируются, начиная с 0). Исходный список при этом не изменяется.
![](files/puzzles/puzzles-lists-get-sub-list.jpg)
Пример:
![](files/puzzles/puzzles-lists-get-sub-list-example.jpg)
sort
Этот пазл создает новый список, заполненный элементами из исходного списка, отсортированными в порядке возрастания или убывания. Исходный список не будет изменен.
![](files/puzzles/puzzles-lists-sort.jpg)
Примеры:
![](files/puzzles/puzzles-lists-sort-example.jpg)
list from text / text from list
Этот пазл позволяет создать список, разделив некоторый текст, или сделать обратное - объединить элементы списка в строку текста.
![](files/puzzles/puzzles-lists-list-text-conversion.jpg)
Пример разбивки текста в список:
![](files/puzzles/puzzles-lists-list-text-conversion-example.jpg)
Пример объединения списка в текст:
![](files/puzzles/puzzles-lists-list-text-conversion-example2.jpg)
Смотрите также
Списки хранят элементы по числовому индексу. Если вам нужно хранилище с именованными элементами, обратитесь к пазлам словарей.
Проблемы с пазлами?
Обращайтесь за помощью на наш форум!