Как получить значения из списка?
Есть список -
a = ['2020-06-11', '2020-06-12', '2020-06-13', '2020-06-14', '2020-06-15',
'2020-06-16', '2020-06-17', '2020-06-18', '2020-06-19', '2020-06-20',
'2020-06-21', '2020-06-22', '2020-06-23']
И есть 2 переменные -
b = '2'
c = '3'
C начала списка надо удалить b элементов. А с конца списка надо удалить с элементов.
Результат должен быть таким:
['2020-06-13', '2020-06-14', '2020-06-15', '2020-06-16',
'2020-06-17', '2020-06-18', '2020-06-19', '2020-06-20']
Ответы (2 шт):
Автор решения: dIm0n
→ Ссылка
Вот так вот для ненулевого c:
a = ['2020-06-11', '2020-06-12', '2020-06-13', '2020-06-14', '2020-06-15', '2020-06-16', '2020-06-17', '2020-06-18', '2020-06-19', '2020-06-20', '2020-06-21', '2020-06-22', '2020-06-23']
b = 2
c = 3
print(a[b:-c])
Если может быть нулём, то print(a[b:-c or None])
Автор решения: MarianD
→ Ссылка
result = a[int(b): -int(c)]
Объяснение:
Используем срез, в котором (после конверсии на целые числа) используем заданные числа (в форме строк — потому конверсия) как границы среза, вторую (верхнюю) как отрицательное число, чтобы позицию считать с конца списка, а не с начала.