Как сделать список для смещения в numpy?

Как с помощью numpy создать сразу список для смещения, а не смещать по одному значению? Когда я делаю вот так:

# Эта часть считает блоки (байты)
while block_offset < file_size:
        myfile.seek(block_offset,0) 
        block_size = np.fromfile(myfile, dtype=dt_block, count=1) 
        block_offset = block_offset + block_size[0][0]
        block_offset_list.append(block_offset) 
# Эта часть создает для каждого блока строго говоря 'имя','смещение' и что это такое 
blocks_dtype = np.dtype(dict( 
      #names=['data_file_1','data_file_3000'], # закавычил как сейчас это выглядит
      names=['data_file'],
      #offsets=[140,3000],
      offsets=[140:3000], # так часть которая нужна 140,141 и т.д. до 3000
     #formats=['i','i']
      formats=['i']

Выдает такую ошибку:

offsets=[140:3000], 
    ^
SyntaxError: expression cannot contain assignment, perhaps you meant "=="?

В этой части собираются значения

for i in range(len(block_offset_list)-1): 
        myfile.seek(block_offset_list[i],0)
        data_array = np.fromfile(myfile, dtype=blocks_dtype, count=1) 

P.S. Пробовал еще задать список, но потерпел фиаско:

    blocks_dtype = np.dtype(dict( 
      names=['data_file'],
     offsets=list(140:3000),
     formats=['i']     
    )) # 
   blocks_dtype = np.dtype(dict( 
ValueError: 'names', 'formats', 'offsets', and 'titles' dict entries must have the same length

и

offsets.tolist()
AttributeError: 'list' object has no attribute 'tolist'

Ответы (1 шт):

Автор решения: CrazyElf

А чем вам не нравится простой кортеж из чисел (можно использовать и список, но для объектов, которые не планируется потом пополнять лучше использовать кортеж)?

offsets=(140,3000)

Потом можно использовать так, если я правильно понял ваш код:

for offset_begin,offset_end in block_offset_list: 
    myfile.seek(offset_begin, 0)
    data_array = np.fromfile(myfile, dtype=blocks_dtype, count=offset_end-offset_begin)

Я тут в цикле сразу распаковываю кортежи в две переменные, в питоне это очень удобно делается.

→ Ссылка