Javascript must be enabled in your browser to use this page.
Please enable Javascript under your Tools menu in your browser.
Once javascript is enabled Click here to go back to �нтеллектуальная Кобринщина

Work with Nested Lists - Wolfram Mathematica

Работа с вложенными списками

Вложенные списки представляют собой списки из списков; они являются основными структурами для данных в Mathematica, которые позволяют хранить массивы высокой размерность и наборы данных разной длины, в равной степени как и использовать их для общепринятой записи матриц.

Создадим список из списков (подсписков) для последующей обработки:

In[1]:=

WorkWithNestedListsRU_1.gif

Out[1]=

WorkWithNestedListsRU_2.gif

Матрицы в Mathematica представлены как вложенные списки. Обратите внимание, что каждый ряд матрицы соответствует подсписку во вложенном списке:

In[2]:=

WorkWithNestedListsRU_3.gif

Out[2]//MatrixForm=

WorkWithNestedListsRU_4.gif

Используем [[]], краткую форму записи функции Part, для того, чтобы выбрать второй ряд:

In[3]:=

WorkWithNestedListsRU_5.gif

Out[3]=

WorkWithNestedListsRU_6.gif

Выберем 3-ий элемент из 2-го ряда:

In[2]:=

WorkWithNestedListsRU_7.gif

Out[2]=

WorkWithNestedListsRU_8.gif

Выберем 3-й элемент из каждого ряда:

In[3]:=

WorkWithNestedListsRU_9.gif

Out[3]=

WorkWithNestedListsRU_10.gif

Используем функцию Flatten, чтобы удалить вложенную структуру:

In[4]:=

WorkWithNestedListsRU_11.gif

Out[4]=

WorkWithNestedListsRU_12.gif

Отобразим неструктурированные данные в виде столбца:

In[7]:=

WorkWithNestedListsRU_13.gif

Out[7]//MatrixForm=

WorkWithNestedListsRU_14.gif

Для сравнения, чтобы отобразить неструктурированные данные в линию, добавим {}:

In[8]:=

WorkWithNestedListsRU_15.gif

Out[8]//MatrixForm=

WorkWithNestedListsRU_16.gif

    

Вы можете проводить операции над отдельными подсписками вложенного списка или над целым вложенным списком.

Создадим набор данных:

In[9]:=

WorkWithNestedListsRU_17.gif

Out[9]=

WorkWithNestedListsRU_18.gif

In[10]:=

WorkWithNestedListsRU_19.gif

Out[10]//MatrixForm=

WorkWithNestedListsRU_20.gif

Большинство функций выполняют преобразования каждого подсписка внутри вложенного списка.

Создадим четыре графика, по одному для каждого ряда из набора данных:

In[11]:=

WorkWithNestedListsRU_21.gif

Out[11]=

WorkWithNestedListsRU_22.gif

Большинство функций описательной статистики обрабатывают столбцы.

Найдем среднее значение каждого столбца:

In[12]:=

WorkWithNestedListsRU_23.gif

Out[12]=

WorkWithNestedListsRU_24.gif

Найдем среднее значение всех чисел, удалив структуру списка:

In[13]:=

WorkWithNestedListsRU_25.gif

Out[13]=

WorkWithNestedListsRU_26.gif

    

Создадим двойной вложенный список:

In[14]:=

WorkWithNestedListsRU_27.gif

Out[15]//MatrixForm=

WorkWithNestedListsRU_28.gif

Теперь Mean возвращает список из средних значений для каждого отдельного вложенного подсписка:

In[16]:=

WorkWithNestedListsRU_29.gif

Out[16]//MatrixForm=

WorkWithNestedListsRU_30.gif

Используем функцию Flatten, чтобы получить среднее значение для всех элементов набора данных:

In[17]:=

WorkWithNestedListsRU_31.gif

Out[17]=

WorkWithNestedListsRU_32.gif