2016-08-12 4 views
2

У меня есть структурированные данные в некоторых источниках, и в конечном итоге я хотел бы пройти через каждый источник на ту же сумму, но начиная с разных индексов, чтобы переструктурировать данные.Вложенные для цикла питонические методы структурирования данных?

Далее я продолжу анализ каждого элемента, содержащегося в каждом итерированном фрагменте источника. Каков способ python для этого? Вложенный цикл?

sources = ('source1', 'source2' 'source3') 
for source in sources: 
    slices = ('[1::5]', '[2::5]''[3::5]') 
    for slice in slices: 
     iteratedSlice = source[slice] 

ответ

1

Вложенный цикл с slice является хорошей отправной точкой:

sources = [source1, source2, source3] 
slices = [slice(1,None,5), slice(2,None,5), slice(3,None,5)] 

for source in sources: 
    for s in slices: 
     iteratedSlice = source[s] 
+2

Я бы не использовал 'slice' как переменную во внутреннем цикле. –

+0

@ Jean-FrançoisFabre Спасибо за глаз –

+0

Использование кортежа вместо списка, поскольку OP do «лучше», на мой взгляд. Кроме того, возможно, менее подробный: 'slices = [slice (n, None, 5) для n в (1, 2, 3)]'. – Delgan

0

Я уверен, что есть лучший способ делать то, что вам нужно, но мы будем нуждаться отказаться больше информации. Что вы собираетесь делать с вашей переменной iteratedSlice?

sources = ('source1', 'source2' 'source3') 

for source in sources: 
    for n in range(1, 4): 
     iteratedSlice = source[n:5] 
+0

каждый элемент среза, является строкой. Я собираюсь разделить строку, чтобы добавить первое слово/число в пустой объект, который является специфическим для каждого итерированного фрагмента, преобразовать списки в np.arrays, собрать массивы, узнать, как использовать панды, преобразовать матрицу в DataFrame. – abc

+0

* для каждого ресурса – abc

Смежные вопросы