Мне знакома конструкция struct из MATLAB, в частности, массив структур. Я пытаюсь сделать это со словарем в Python. Скажем, у меня есть инициализированный словарь:
samples = {"Name":"", "Group":"", "Timeseries":[],"GeneratedFeature":[]}
и мне предоставлен еще один словарь под названием fileList
, ключи которого - это имена групп, а каждое значение - это набор путей к файлам. Каждый путь к файлу будет генерировать один образец в samples
путем заполнения элемента Timeseries
. В дальнейшем некоторая обработка составит GeneratedFeature
. Часть имени будет определена путем к файлу.
Поскольку я не знаю содержимого fileList
априори, в MATLAB, если samples
, это struct, а fileList - просто массив ячеек:
fileList={{'Group A',{'filepath1','filepath2'}};{'Group B',{'filepath1', 'filepath2'}}}
Я бы просто установил счетчик k=1
, запустил цикл for
(с другим индексом) и сделал бы что-то вроде:
k=1;
for i=1:numel(fileList)
samples(k).Group=fileList{i}{1};
for j=1:numel(fileList{i}{2})
samples(k).Name=makeNameFrom(fileList{1}{2}{j})
.
.
end
k=k+1
end
Но я не знаю, как это сделать на python. Я знаю, что могу сохранить два для подхода петли с
for (group, samples) in fileList:
for sample in samples:
Но как сказать python, что сэмплам разрешено быть массивом / списком? Есть ли более питонический подход, чем для цикла?