Как я могу нарезать список индексом, основанным на переменной?Списки разрезов с переменным индексом
т.е.
splitMe = range(0,10)
startPlace = 3
endPlace = 5
splitMe[startPlace:endPlace] #<------This is essentially what I need
Таким образом, можно вводить различные числа в startPlace и endPlace и получить другой кусочек. Это, вероятно, кажется тривиальным, но я сокращаю разделы из 230 000 строк данных. Есть расчеты за startPlace и endPlace, которые связаны с датами и временем.
Это то, что я сейчас:
#Find matching data with datetime
for a, line in enumerate (Time):
if line == startDate:
print "Slice starts at:", a
for c, line in enumerate (Time):
if line == endDate:
print "Slice ends at:", c
#Create lists
slice_laser_c = [x for x in laser_C if a <= x < c]
EDIT Когда я запускаю этот код, он печатает «фрагмент начинается: 0» и «Срез заканчивается: 5», который является именно то, что он . «ы должны делать END EDIT При печати slice_laser_c я получаю
[] #<----- Essentially, this is the problem
в простом смысле, это то, что происходит:
big_list = range(0,10)
a = 2
c = 5
BetweenList = [x for x in big_list if a <= x < c]
print BetweenList
Подсказка: что вы видите, если вы 'печатать, c' прямо перед' slice_laser_c' линии? – Kevin
В любом случае, если критерии для поиска начальных и конечных индексов - это просто проверка равенства, может быть более эффективным просто выполнить 'a = Time.find (startDate)', вместо того, чтобы выполнять повторный просмотр в списке вручную. – Kevin
Я вижу, что это проблема. 'a = 223632 c = 223632' – Commmett