2012-04-20 2 views
0

У меня есть список таблиц, содержащих некоторые данные и скрипт-монтажник, который запускается в наборе данных. Слесарь генерирует подгонку, а затем выводит некоторые параметры подгонки. Я хочу автоматизировать процесс - запустить цикл for, который проходит через часть элементов в таблице и выводит их параметры соответствия. я могу запустить монтер на каждом из элементов с этим кодом:Цитирование через список таблиц в python

import tables

from function.fitter import Fitter

hdf2 = tables.openFile('data.waveforms.hdf5')

for element in data.waveforms:

fitter = Fitter(element)

Элементы названного в таким образом: данные0101, данные0102, (для набора один) ..., данные0201, данные0202 (номер набора 2) и т. д.

Как я могу прокрутить только десять элементов набора номера 1: data0101, data0102,. .. данные0110, например?

ответ

1

Либо разрезать его (for ... in data.waveforms[:10]), либо использовать itertools.islice().

+0

Отлично, спасибо. Я изменил код с помощью islice(): 'для элемента в islice (data.waveforms, 1, 60):' Итак, я могу выбрать, какие элементы запускать слесаря ​​по их числу (их порядок в таблице) , но похоже, что islice() хочет целые числа для условий начала и остановки. Могу ли я сказать islice(), чтобы начать с data0101 и остановиться у data0160 вместо начала в элементе 1 и идти до элемента 60? –

+0

К сожалению, нет. Вам нужно будет посмотреть на другие функции itertools или, возможно, даже на пользовательский генератор. –

+0

'itertools.takewhile' идеально подходит для проверки имен элементов (при условии, что они в порядке). – torek

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