HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p><strong>Python</strong>- популярный и динамический язык программирования. Он позволяет решать разные задачи по разработке ПО, при выполнении которых часто используются<strong>массивы</strong>.</p>
1 <p><strong>Python</strong>- популярный и динамический язык программирования. Он позволяет решать разные задачи по разработке ПО, при выполнении которых часто используются<strong>массивы</strong>.</p>
2 <p>С их помощью вы сможете добавить однотипные данные и избежать дублирования кода.</p>
2 <p>С их помощью вы сможете добавить однотипные данные и избежать дублирования кода.</p>
3 <p><strong>Одномерные массивы в Python</strong>представляют собой список элементов. Значения указываются внутри квадратных скобок, где перечисляются через запятую. Как правило, любой элемент можно вызвать по индексу и присвоить ему новое значение.</p>
3 <p><strong>Одномерные массивы в Python</strong>представляют собой список элементов. Значения указываются внутри квадратных скобок, где перечисляются через запятую. Как правило, любой элемент можно вызвать по индексу и присвоить ему новое значение.</p>
4 <p>Пустой список:</p>
4 <p>Пустой список:</p>
5 <p>Массив строк в<strong>Python</strong>:</p>
5 <p>Массив строк в<strong>Python</strong>:</p>
6 Prime = ['string1', 'string2', 'string3'] Prime[1] = 'string2'; //true<p>Чтобы возвратить число элементов внутри списка, используют функцию len():</p>
6 Prime = ['string1', 'string2', 'string3'] Prime[1] = 'string2'; //true<p>Чтобы возвратить число элементов внутри списка, используют функцию len():</p>
7 <p>Когда нужно перечислить элементы массива, применяют цикл for. В "<strong>Питоне</strong>" этот цикл перебирает элементы, а не индексы, как в Pascal:</p>
7 <p>Когда нужно перечислить элементы массива, применяют цикл for. В "<strong>Питоне</strong>" этот цикл перебирает элементы, а не индексы, как в Pascal:</p>
8 <p>Идём дальше. Создать и добавить цикл в<strong>Python</strong>можно с помощью генератора заполнения списков. Записывается он в следующем виде: [значение массива for имя переменной in число элементов];</p>
8 <p>Идём дальше. Создать и добавить цикл в<strong>Python</strong>можно с помощью генератора заполнения списков. Записывается он в следующем виде: [значение массива for имя переменной in число элементов];</p>
9 <p>Если говорить про создание не одномерного, а<strong>двумерного массива</strong>, то он в<strong>Python</strong>создаётся путём использования вложенных генераторов, и выглядит это так:</p>
9 <p>Если говорить про создание не одномерного, а<strong>двумерного массива</strong>, то он в<strong>Python</strong>создаётся путём использования вложенных генераторов, и выглядит это так:</p>
10 [[0 for j in range(m)] for i in range(n)]<h2>Как создаются матрицы в Python?</h2>
10 [[0 for j in range(m)] for i in range(n)]<h2>Как создаются матрицы в Python?</h2>
11 <p>Добавление и модификация массивов или матриц (<strong>matrix</strong>) в<strong>Python</strong>осуществляется с помощью библиотеки<strong>NumPy</strong>. Вы можете создать таким образом и одномерный, и двумерный, и многомерный массив. Библиотека обладает широким набором пакетов, которые необходимы, чтобы успешно решать различные математические задачи. Она не только поддерживает создание двумерных и многомерных массивов, но обеспечивает работу однородных многомерных матриц.</p>
11 <p>Добавление и модификация массивов или матриц (<strong>matrix</strong>) в<strong>Python</strong>осуществляется с помощью библиотеки<strong>NumPy</strong>. Вы можете создать таким образом и одномерный, и двумерный, и многомерный массив. Библиотека обладает широким набором пакетов, которые необходимы, чтобы успешно решать различные математические задачи. Она не только поддерживает создание двумерных и многомерных массивов, но обеспечивает работу однородных многомерных матриц.</p>
12 <p>Чтобы получить доступ и начать использовать функции данного пакета, его импортируют:</p>
12 <p>Чтобы получить доступ и начать использовать функции данного пакета, его импортируют:</p>
13 <p>Функция array() - один из самых простых способов, позволяющих динамически задать одно- и двумерный массив в<strong>Python</strong>. Она создаёт объект типа ndarray:</p>
13 <p>Функция array() - один из самых простых способов, позволяющих динамически задать одно- и двумерный массив в<strong>Python</strong>. Она создаёт объект типа ndarray:</p>
14 array = np.array(/* множество элементов */)<p>Для проверки используется функция array.type() - принимает в качестве аргумента имя массива, который был создан.</p>
14 array = np.array(/* множество элементов */)<p>Для проверки используется функция array.type() - принимает в качестве аргумента имя массива, который был создан.</p>
15 <p>Если хотите сделать переопределение типа массива, используйте на стадии создания dtype=np.complex:</p>
15 <p>Если хотите сделать переопределение типа массива, используйте на стадии создания dtype=np.complex:</p>
16 array2 = np.array([ /*элементы*/, dtype=np.complex)<p>Когда стоит задача задать одномерный или двумерный массив определённой длины в<strong>Python</strong>, и его значения на данном этапе неизвестны, происходит его заполнение нулями функцией zeros(). Кроме того, можно получить матрицу из единиц через функцию ones(). При этом в качестве аргументов принимают число элементов и число вложенных массивов внутри:</p>
16 array2 = np.array([ /*элементы*/, dtype=np.complex)<p>Когда стоит задача задать одномерный или двумерный массив определённой длины в<strong>Python</strong>, и его значения на данном этапе неизвестны, происходит его заполнение нулями функцией zeros(). Кроме того, можно получить матрицу из единиц через функцию ones(). При этом в качестве аргументов принимают число элементов и число вложенных массивов внутри:</p>
17 <p>К примеру, так в Python происходит задание двух массивов внутри, которые по длине имеют два элемента:</p>
17 <p>К примеру, так в Python происходит задание двух массивов внутри, которые по длине имеют два элемента:</p>
18 array([ [[0, 0]] [[0, 0]]] )<p>Если хотите вывести одно- либо двумерный массив на экран, вам поможет функция print(). Учтите, что если матрица слишком велика для печати,<strong>NumPy</strong>скроет центральную часть и выведет лишь крайние значения. Дабы увидеть массив полностью, используется функция set_printoptions(). При этом по умолчанию выводятся не все элементы, а происходит вывод только первой тысячи. И это значение массива указывается в качестве аргумента с ключевым словом<strong>threshold</strong>.</p>
18 array([ [[0, 0]] [[0, 0]]] )<p>Если хотите вывести одно- либо двумерный массив на экран, вам поможет функция print(). Учтите, что если матрица слишком велика для печати,<strong>NumPy</strong>скроет центральную часть и выведет лишь крайние значения. Дабы увидеть массив полностью, используется функция set_printoptions(). При этом по умолчанию выводятся не все элементы, а происходит вывод только первой тысячи. И это значение массива указывается в качестве аргумента с ключевым словом<strong>threshold</strong>.</p>
19 <h2>Базовые операции в NumPy</h2>
19 <h2>Базовые операции в NumPy</h2>
20 <p>Все действия, производимые над компонентами массива, оборачиваются созданием нового массива. При этом массивы и матрицы взаимодействуют в том случае, если имеют один и тот же размер:</p>
20 <p>Все действия, производимые над компонентами массива, оборачиваются созданием нового массива. При этом массивы и матрицы взаимодействуют в том случае, если имеют один и тот же размер:</p>
21 array1 = np.array([[1, 2, 3], [1, 2, 3]]) array2 = np.array([[1, 2, 3], [1, 2, 3], [1, 2, 3]])<p>Если выполнить array1 + array2, компилятор скажет об ошибке, а всё потому, что размер первого matrix равен двум, а второго трём.</p>
21 array1 = np.array([[1, 2, 3], [1, 2, 3]]) array2 = np.array([[1, 2, 3], [1, 2, 3], [1, 2, 3]])<p>Если выполнить array1 + array2, компилятор скажет об ошибке, а всё потому, что размер первого matrix равен двум, а второго трём.</p>
22 array1 = np.array([1, 2, 5, 7]) array2 = arange([1, 5, 1])<p>В данном случае array1 + array2 вернёт нам массив со следующими элементами: 2, 4, 8, 11. Здесь не возникнет ошибки, т. к. матрицы имеют одинаковые размеры. Причём вместо ручного сложения часто применяют функцию, входящую в класс ndarray sum():</p>
22 array1 = np.array([1, 2, 5, 7]) array2 = arange([1, 5, 1])<p>В данном случае array1 + array2 вернёт нам массив со следующими элементами: 2, 4, 8, 11. Здесь не возникнет ошибки, т. к. матрицы имеют одинаковые размеры. Причём вместо ручного сложения часто применяют функцию, входящую в класс ndarray sum():</p>
23 np.array(array1 + array1) == array1 + array2<p>В ndarray входит большая библиотека методов, необходимых для выполнения математических операций.</p>
23 np.array(array1 + array1) == array1 + array2<p>В ndarray входит большая библиотека методов, необходимых для выполнения математических операций.</p>
24 <h2>Форма матрицы в Python</h2>
24 <h2>Форма матрицы в Python</h2>
25 <p>Lenght matrix (длина матрицы) в Python определяет форму. Длину матрицы проверяют методом shape().</p>
25 <p>Lenght matrix (длина матрицы) в Python определяет форму. Длину матрицы проверяют методом shape().</p>
26 <p>Массив с 2-мя либо 3-мя элементами будет иметь форму (2, 2, 3). И это состояние изменится, когда в shape() будут указаны аргументы: первый - число подмассивов, второй - размерность каждого подмассива.</p>
26 <p>Массив с 2-мя либо 3-мя элементами будет иметь форму (2, 2, 3). И это состояние изменится, когда в shape() будут указаны аргументы: первый - число подмассивов, второй - размерность каждого подмассива.</p>
27 <p>Те же задачи и ту же операцию выполнит reshape(). Здесь<strong>lenght</strong>и другие параметры matrix определяются числом столбцов и строк.</p>
27 <p>Те же задачи и ту же операцию выполнит reshape(). Здесь<strong>lenght</strong>и другие параметры matrix определяются числом столбцов и строк.</p>
28 <p>Есть методы и для манипуляции формой. Допустим, при манипуляциях с двумерными или многомерными массивами можно сделать одномерный путём выстраивания внутренних значений последовательно по возрастанию. А чтобы поменять в матрице строки и столбцы местами, применяют transpose().</p>
28 <p>Есть методы и для манипуляции формой. Допустим, при манипуляциях с двумерными или многомерными массивами можно сделать одномерный путём выстраивания внутренних значений последовательно по возрастанию. А чтобы поменять в матрице строки и столбцы местами, применяют transpose().</p>
29 <h2>Операции со срезами matrix в Python</h2>
29 <h2>Операции со срезами matrix в Python</h2>
30 <p>Часто мы работаем не с целым массивом, а с его компонентами. Эти операции выполняются с помощью метода слайс (срез). Он пришел на замену циклу for, при котором каждый элемент подвергался перебору. Метод позволяет получать копии matrix, причём манипуляции выполняются в виде [start:stop:step]. В данном случае<strong>start</strong>- индекс элемента, с которого берётся отсчёт,<strong>stop</strong>- последний элемент,<strong>step</strong>- размер шага или число пропускаемых значений элемента при каждой итерации. Изначально start равен нулю, stop - индексу последнего элемента, step - единице. Если выполнить операции без аргументов, копирование и добавление списка произойдёт полностью.</p>
30 <p>Часто мы работаем не с целым массивом, а с его компонентами. Эти операции выполняются с помощью метода слайс (срез). Он пришел на замену циклу for, при котором каждый элемент подвергался перебору. Метод позволяет получать копии matrix, причём манипуляции выполняются в виде [start:stop:step]. В данном случае<strong>start</strong>- индекс элемента, с которого берётся отсчёт,<strong>stop</strong>- последний элемент,<strong>step</strong>- размер шага или число пропускаемых значений элемента при каждой итерации. Изначально start равен нулю, stop - индексу последнего элемента, step - единице. Если выполнить операции без аргументов, копирование и добавление списка произойдёт полностью.</p>
31 <p>Допустим, имеем целочисленный массив otus = [1, 2, 3, 4]. Для копирования и вывода используем otus[:]. В итоге произойдёт вывод последовательности [1, 2, 3, 4]. Но если аргументом станет отрицательное значение, допустим, -2, произойдёт вывод уже других данных:</p>
31 <p>Допустим, имеем целочисленный массив otus = [1, 2, 3, 4]. Для копирования и вывода используем otus[:]. В итоге произойдёт вывод последовательности [1, 2, 3, 4]. Но если аргументом станет отрицательное значение, допустим, -2, произойдёт вывод уже других данных:</p>
32 <p>Возможны и другие операции. Например, если добавить ещё одно двоеточие, будет указан шаг копируемых элементов. Таким образом, otus[::2] позволит вывести матрицу [1, 3].</p>
32 <p>Возможны и другие операции. Например, если добавить ещё одно двоеточие, будет указан шаг копируемых элементов. Таким образом, otus[::2] позволит вывести матрицу [1, 3].</p>
33 <p>Если ввести отрицательное значение, к примеру, [::-2] отсчёт начнётся с конца, и в результате произойдёт вывод [3, 1]. Остаётся добавить, что метод среза позволяет гибко работать с матрицами и вложенными списками в<strong>Python</strong>.</p>
33 <p>Если ввести отрицательное значение, к примеру, [::-2] отсчёт начнётся с конца, и в результате произойдёт вывод [3, 1]. Остаётся добавить, что метод среза позволяет гибко работать с матрицами и вложенными списками в<strong>Python</strong>.</p>
34 <p><em>Хотите узнать гораздо больше? Записывайтесь на курс "Разработчик Python"!</em></p>
34 <p><em>Хотите узнать гораздо больше? Записывайтесь на курс "Разработчик Python"!</em></p>
35  
35