2016-08-11 3 views
1

Мне нужно извлечь данные из нескольких позиций в массиве.Несколько фрагментов с Python

Простого массив будет: -

listing = (4, 22, 24, 34, 46, 56) 

Я знаком с нарезкой. Например: -

listing[0:3] 

дал бы мне: -

(4, 22, 24) 

Однако я не могу выйти несколько ломтиков. Например: -

listing[0:3, 4:5] 

дает мне

TypeError: tuple indices must be integers not tuples 

Несмотря на поиске две книги Python и интернет я не могу работать, синтаксис для использования.

+1

фактически 'listing' в вашем примере кортеж не массив. Для массива вы должны использовать [модуль массива] (https://docs.python.org/3/library/array.html) или перечислить как самую близкую концепцию. Разница между кортежами и списками, которые в первых элементах неизменяемы. – ailin

ответ

4

Вы можете нарезать дважды и присоединиться к ним.

listing[0:3] + listing[4:5] 
+0

Вы также можете сохранить срезы в качестве переменных и использовать их: 'part1 = slice (0,3); list_part1 = listing [part1] ' –

+0

Работает отлично, хотя и не так элегантно, как хотелось бы. – OldSteve

0

Try:

>>> listing = (4, 22, 24, 34, 46, 56) 
>>> listing[0:3], listing[4:5] 
((4, 22, 24), (46,)) 
Смежные вопросы