Коллекции
Рассмотрим соответствие типов коллекций в Python и языке «1С:Элемент», а также сравним базовые операции по работе с ними.
В Python есть несколько видов коллекций: list — изменяемый список, tuple — неизменяемый кортеж, dict — словарь, set — множество. В языке «1С:Элемент» для каждой из них есть свой тип. Списку соответствует Массив<Тип>, словарю — Соответствие<Ключ, Значение>, множеству — Множество<Тип>.
В Python кортеж — это неизменяемый аналог списка. В языке «1С:Элемент» для неизменяемых коллекций используют типы с префиксом Читаемый:
# Список чисел
numbers = [10, 20, 30]
# Список строк
fruits = ["яблоко", "банан", "груша"]
# Словарь (ключ — ID сотрудника, значение — его имя)
employees = {
10001: "Иван Сидоров",
10002: "Ольга Иванова",
10003: "Алексей Петров"
}
# Множество четных чисел
even_numbers = {2, 4, 6}
# Множество простых чисел
prime_numbers = {2, 3, 5}
# Объединение множеств
all_numbers = even_numbers.union(prime_numbers) # {2, 3, 4, 5, 6}
# Кортеж констант
constants = (3.14, 2.72)
// Массив чисел
знч Числа = [10, 20, 30]
// Массив строк
зн ч Фрукты = ["яблоко", "банан", "груша"]
// Соответствие (ключ — ID сотрудника, значение — его имя)
знч Сотрудники: Соответствие<Число, Строка> = {
10001: "Иван Сидоров",
10002: "Ольга Иванова",
10003: "Алексей Петров"
}
// Множество четных чисел
знч Четные = {2, 4, 6}
// Множество простых чисел
знч Простые = {2, 3, 5}
// Объединение множеств
знч ВсеЧисла = Четные.Объединение(Простые) // {2, 3, 4, 5, 6}
// Неизменяемый массив констант
знч Константы: ЧитаемыйМассив<Число> = [3.14, 2.72]
Работа со списками и массивами
Ключевые операции по работе со списком list в Python включают добавление элемента через append(x) или insert(i, x), удаление через remove(x) или pop(i), сортировку с помощью sort() или sorted(list), а также поиск элементов через index(x). Длину массива можно узнать с помощью функции len(list), сумму элементов — с помощью sum(list), а минимальный и максимальный элементы — с помощью min(list) и max(list).
У массива в языке «1С:Элемент» есть аналогичные методы, которые позволяют работать с его содержимым. Добавить элемент — Массив.Добавить(Элемент) или Массив.Вставить(Индекс, Элемент), узнать количе ство элементов — Массив.Размер(), сортировать элементы — Массив.Сортировать(), получить сумму, наибольшее или наименьшее значение — Массив.Сумма(), Массив.Максимум(), Массив.Минимум(). Доступ к элементу по индексу записывается одинаково — Массив[i].
numbers = [10, 15, 24, 7, 56]
# Добавление элементов
numbers.append(40)
numbers.insert(1, 35)
# Базовые операции
length = len(numbers) # 7
min = min(numbers) # 7
max = max(numbers) # 56
sum = sum(numbers) # 187
# Сортировка списка
sorted_numbers = sorted(numbers)
# Результат: [7, 10, 15, 24, 35, 40, 56]
# Фильтрация списка (отбор четных чисел)
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
# Результат: [10, 24, 56, 40]
пер Числа = [10, 15, 24, 7, 56]
// Добавление элементов
Числа.Добавить(40)
Числа.Вставить(1, 35)
// Базовые операции
знч Длина = Числа.Размер() // 7
знч Мин = Числа.Минимум() // 7
знч Макс = Числа.Максимум() // 56
знч Сумма = Числа.Сумма() // 187
// Сортировка массива
знч Отсортированные = Числа.Сортировать()
// Результат: [7, 10, 15, 24, 35, 40, 56]
// Фильтрация массива (отбор четных чисел)
знч Четные = Числа.Фильтровать(Элемент -> Элемент % 2 == 0)
// Результат: [10, 24, 56, 40]