Работа с массивами
Как создать массив
Создание массива - объявление массива
имя_массива = []
Как обнулить массив
Обнуление - это ничто иное как объявление пустого массива
имя_массива = []
Как получить элемент массива
имя[индекс] - получение элемента массива по индексу или значению
/*получение по индексу*/
arrayI = [1, "2", 3, 4, 5]
k=arrayI[3]
/*получение по индексу из вложенного*/
arrayV = [[1, "2", 4, 5], "2", 3, 4, 5]
v=arrayV[0][1]
/*пример на получение последнего значения*/
array = [1, "2", 3, 4, 5]
/*Взятие последнего элемента массива*/
last = array[-1]Как заменить значение в массиве
имя[индекс] = значение - замена значения элемента массива по заданному индексу
Пример:
Для замены значения конкретного элемента массива пишем обращение к нему имя_массива[индекс] = значение

Ответ:

array = [1, "2", 3, 4, 5]
/*Заменить в массиве\словаре*/
array[2] = 888
/*Добавить в словарь dicts['key'] = 'VVVVVVVVVVV'*/
dicts['m']=new
/*Заменить в массиве\словаре на число*/
array[3] = int('888')
dicts['a'] = int('555')Как проверить наличие элемента в массиве
in_array(mass, value) - для проверки наличия элемента в массиве.
Параметры: ! mass - массив ! value - значение для поиска.
Возвращаемое значение True или False, в зависимости найдено значение или нет.
Пример:

Ответ:

s = ["Вася", "Петя", "Лена"]
q = if(in_array(s, 'Аня'), 'Найдено', 'Еще строка')Как узнать длину массива
arr_len(mass) - для определения длины массива.
Параметр: ! mass - массив
Результат: Возвращает число - длину массива.
Будьте внимательны при передаче параметра в функцию! Если вызвать функцию без параметров, вернет 0, если в параметрах не массив и не словарь, вернет -1.
Пример использования

Результат:

s = ["Вася", "Петя", "Лена"]
q = if(arr_len(s) > 5, 'Группа укомплектована', 'Присоединяйтесь в наши ряды!')Как вставить элемент в конец массива
append(mass, element, priznak) - для вставки элемента в конец массива.
Параметры:
! mass - массив ! element - вставляемый элемент priznak - признак добавления массива или словаря
Возвращает массив, в который добавлено значение в конец. Т.е. для добавление в этот же массив прописываем команду ввиде mass = append(mass, element, priznak)
Данные по умолчанию вставляются как строки, если вам надо вставить массив или словарь, передайте дополнительный парамтер True. Он означает, что вы вставляете JSON.
Пример использования:


Пример добавления в массив и удаления из него:

Пример создания массива с массивами внутри:

Результат выполнения функции:

s = ["Вася", "Петя", "Лена"]
q = append(s, 'Никита')Как вставить значение в определенную позицию массива
insert(mass, index, value, priznak) - для вставки элемента в определенную позицию массива.
Параметры: ! mass - массив ! index - позиция для вставки ! value - значение priznak - признак добавления массива или словаря
Результат: Возвращает массив, в который добавлено значение в указанную позицию. Т.е. для добавление в этот же массив прописываем команду ввиде mass = insert(mass, index, value, priznak)
Данные по умолчанию вставляются как строки, если вам надо вставить массив или словарь, передайте дополнительный параметр True. Он означает, что вы вставляете JSON.
Пример:

Результат:

Разберем более сложный пример - добавление словаря t в массив s:

В функции мы указали, что хотим добавить словарь на позицию 1. Смотрим результат:

s = ["Вася", "Петя", "Лена"]
q = insert(s, 1, 'Никита')Как удалить элемент из массива
del() | del | remove()
По индексу
del(mass, key) - для удаления элемента из массива по индексу.
Параметры: ! mass - имя массива; ! key - индекс значения, которое надо удалить.
Возвращает измененный массив, исходную строку не меняет. Т.е. для удаления и изменения этого же массива прописываем команду ввиде mass = del(mass, key)
Если в качестве значений массива используются числа, то для удаления элемента пользуйтесь функцией remove()
del имя['индекс'] - удаление значения из массива по индексу
Параметры: ! имя- имя массива; ! индекс- индекс значения, которое надо удалить.
По значению
remove(mass, value) - для удаления значения из массива.
Параметры: ! mass - имя массива; ! value - значение, которое необходимо удалить из массива.
Результат: Возвращает измененный массив, исходную строку не меняет. Т.е. для удаления и изменения этого же массива прописываем команду ввиде mass = remove(mass, key)
Пример удаления по индексу элемента:

Пример удаления элемента массива по его значению:

/*уаление элемента массива по его индексу*/
array = ["1",2, 3, "4"]
del array['1']
array1 = ["1",2, 3, "4"]
array1=del(array1,0)
/*удаление элемента по его значению*/
array = ["1",2, 3, "4"]
array=remove(array, '4')
array1 = ["1",2, 3, "4"]
array1=remove(array1, 2) Как узнать позицию элемента в массиве
index(mass, value)
Параметры: ! mass - имя массива ! value - значение, позицию которого надо определить.
Если элемента нет в массиве, то функция вернет -1.
Пример определения позиции элемента в массиве:

Рассмотрим подробно результат:

Как видим, поскольку цифры 5 в массиве нет, функция вернула нам значение -1.
array = ["1",2, 3, "4"]
poisk1=index(array,"1")
poisk2=index(array,5)Как перевести массив в человекочитаемый текст
massive_to_text(massive, header, numbered,delimiter1,delimiter2)
Параметры:
! massive – массив, который нужно вывести, header – заголовок, который появится в начале текста, numbered – при передаче любого значения элементы массива будут пронумерованы, delimiter1 – символ, который проставляется в конце строки с элементом (по умолчанию знак ‘;’), delimiter2 – символ, используемый после номера элемента, при использовании нумерации (по умолчанию знак ‘)’)
Простой пример:
В резултате массив будет выведен в виде нумерованного списка:
Massive1 = [1, 2, 3, "a", "b", "c"]
text = massive_to_text(Massive1, 'заголовок', 1) Как исключить один массив из другого
except_arr(mas1, mas2)
Параметры:
! mas1 - массив, из которого будем исключать, ! mas2 - массив, элементы которого будем исключать
Разберем на примере:

s1 = [1, 2, 3]
s2 = [2, 3]
s3 = except_arr(s1, s2)Как выбрать пересечение массивов
cross_arr(mas1, mas2)
Параметры:
! mas1 - массив, в котором ищем, ! mas2 - массив, элементы которого будем искать

s1 = [1, 2, 3]
s2 = [2, 3]
s3 = cross_arr(s1, s2)
mas1 = ["не", "ожидал,", "что", "всё", "так", "просто.", "спасибо"]
mas2 = ["все", "спасибо"]
mas3 = cross_arr(mas1, mas2)Как объединить массивы
Специальной функции для объединения массивов нет, но все достаточно просто решается:
Для объединения массивов выполните операцию конкатенации строк, далее выполните замену '][' на запятую - ','

a = [1,2,3,4]
b = [5,6,7]
sum = a + b
answer = replace(sum, '][', ',') Как просуммировать элементы массива
sum_array(array)
Параметры:
array - массив, элементы которого необходимо просуммировать
Внимание! Функция работает с массивами определенного вида.
Принимаемый вид - [1,2,3,4] или ‘[1,2,3,4]’. Если внутри массива есть число, представленное в виде строки, оно должно быть заключено в двойные кавычки - например, [1,2,3,”-4”]. Если среди значений массива есть строки с буквенными значениями, вычисления произведены не будут.
Пример неправильного использования: mas = [1,2,3,"a"] result = sum_array(mas)
В результате будет возвращена ошибка: array has unsupported elements


Результат:

mas = [1,2,3,4]
result = sum_array(mas) Как перемешать элементы массива
shuffle_massive(massive
Параметры:
massive - это массив, элементы которого нужно перемешать.

Результаты выполнения функции:

Massive1 = [1, 2, 3, "a", "b", "c"]
Massive2 = shuffle_massive(Massive1) Для сортировки массивов и словарей
Сортировка массива или словаря
sort(mass, b) - сортирует массив по значению, а словарь по ключу
Параметры:
! mass - массив/словарь
b - направление сортировки (False - по возрастанию (по умолчанию), True - по убыванию)
Сортировка словаря по значению
sort_by_value(dict, b) - сортировка словаря по значениям.
Параметры:
! dict- словарь
b - направление сортировки (False - по возрастанию (по умолчанию), True - по убыванию)
Пример сортировки массива по убыванию и словаря по возрастанию:


Сортируем словарь по значениям:


Перевод массива/словаря в кнопки
tools_make_button_str_checker() | tools_check_user_input()
Перевод массива/словаря в кнопки
tools_make_button_str_checker(values_list, key, in_line, button_type, checker_with_numbers)
Параметры:
! values_list - массив строк или словарей, данные которого будут использоваться для получения клавиатуры или нумерованного списка
key - ключ, по которому будет производиться выборка из массива словарей
in_line - количество кнопок в строке (по умолчанию равен 1)
button_type - тип кнопок (по умолчанию reply-клавиатура). Возможные значения: 0 - reply-клавиатура, 1 - inline-клавиатура ( кнопки в тексте)
checker_with_numbers - добавлять ли номера кнопок в массив "сhecker" . Возможные значения: 0 - не добавлять номера, 1 - добавлять номера. (По умолчанию: 1 - добавлять номера)
Результат исполнения функции - словарь вида:
{"numbered_list":"1. Футболки\n2. Шорты\n3. Носки\n4. Кепки\n","buttons":[{"type":"inline","text":"Футболки","line":0,"index_in_line":0},{"type":"inline","text":"Шорты","line":0,"index_in_line":1},{"type":"inline","text":"Носки","line":1,"index_in_line":0},{"type":"inline","text":"Кепки","line":1,"index_in_line":1}],"checker":"Футболки;1;Шорты;2;Носки;3;Кепки;4;"}
Значения словаря в дальнейшем можно подставлять в поля в конструкторе:


Получение значения словаря на основе выбора клиента
tools_check_user_input(values_list, user_input, key, return_key)
Параметры:
! values_list - массив строк или словарей, данные которого будут использоваться для получения клавиатуры или нумерованного списка Пример словаря: [{"text":"Футболки","price":100},{"text":"Шорты","price":150},{"text":"Носки","price":20},{"text":"Кепки","price":50}] ! user_input - значение введенное пользователем из числа значений, полученных из словаря values_list Пример значения: Кепки key - ключ, по которому будет производиться выборка из массива словарей values_list Пример ключа: text return_key - возвращаемое значение для заданного ключа key из словаря values_list Пример возвращаемого значения: price
Разберем использование функции на примере реализации корзины товаров:
1.Задаем массив и разбираем его на нумерованный список, кнопки и список возможных значений (для мессенджеров без кнопок) при помощи функции tools_make_button_str_checker()


2.Используем полученные значения buttons, numbered_list для организации возможности выбора товара:

3.А список возможных значений checker используем для проверки вводимых клиентом данных:

4.Осталось вывести клиенту цену выбранного товара. Это удобно сделать при помощи функции tools_check_user_input()

list = [{"text":"Футболки","price":100},{"text":"Шорты","price":150},{"text":"Носки","price":20},{"text":"Кепки","price":50}]
res = tools_make_button_str_checker(list, "text", "2", "1")
numbered_list = res['numbered_list']
buttons = res['buttons']
checker = res['checker']
res_check = tools_check_user_input(list, user_input, 'text', 'price')Выборка данных из массива
array_slice(array, start_index, end_index)
Параметры:
! array - массив ! start_index - начало среза end_index - конец среза (по умолчанию до конца)
Давайте выберем из массива подмассив, начиная с 1го элемента:

в res будет ["Шорты", "Носки", "Кепки"]
Еще один пример выборки подмассива, начиная с 0 до 2го элемента массива:

в res будет ["Футболки", "Шорты"]
list = ["Футболки", "Шорты", "Носки", "Кепки"]
res = array_slice(list, 1)
res = array_slice(list, 0, 2)Распаковка элементов массива
unpack_list(array, var_name) - этот метод перебирает массив и создает для каждого элемента в массиве отдельную переменную с названием var1, var2, var3 и т.д.
! array - обязательный параметр, массив элементов
var_name - необязательный параметр, строка. Если передан, используется для имен распакованных элементов. Примеры:
Если передан var_name, то названия для переменных формируются с использованием var_name
var_name должен соответствовать правилам наименования переменных.
Пример 1:
array1 = ["one", "two", "three"]
ans1 = unpack_list(array1)
Результат - созданы переменные сделки:
var1 = 'one'
var2 = 'two'
var3 = 'three'
Пример 2:
array2 = ["one", "two", "three"]
var_name = 'custom'
ans2 = unpack_list(array2, var_name)
Результат - созданы переменные сделки:
custom1 = 'one'
custom2 = 'two'
custom3 = 'three'
Как вернуть список без повторяющихся элементов
remove_duplicates(array) - возвращает список без повторяющихся элементов.
! array - обязательный параметр. Исходный список элементов с дубликатами
Пример:
arr = [1, 2, 5, 1, 5, 3]
new_arr = remove_duplicates(arr)
Результат - в переменную new_arr запишется список: [1, 2, 5, 3]
Last updated
Was this helpful?




