Member 11436383 Ответов: 2

Получить индекс конкретной даты в массиве с помощью Python


Здравствуйте, у меня есть массив date date=[datetime.date(1962, 1, 9), datetime. date(1962, 1, 8), datetime. date(1962, 1, 5), datetime. date(1962, 1, 4), datetime. date(1962, 1, 3), datetime. date(1962, 1, 2)]

я хочу получить индекс 1962,1,9, как я могу ?

Что я уже пробовал:

я попробовал date. index ('1962-1-9')
ValueError: '1962-1-9' отсутствует в списке

2 Ответов

Рейтинг:
7

CPallini

Попробуйте вместо этого

date.index(datetime.date(1962-1-9))


исправлено, благодаря Ричард.


Member 11436383

TypeError: дескриптор 'date' требует объекта' datetime.datetime', но получил объект 'str'

CPallini

Это работает для меня:
Python 2.7.12 (по умолчанию, 19 ноября 2016, 06:48:10)
[GCC 5.4.0 20160609] на linux2
Введите "справка", "авторское право", "кредиты" или "лицензия" для получения дополнительной информации.
&ГТ;&ГТ;> датавремя импорта
дата=[datetime. date(1962, 1, 9), datetime. date(1962, 1, 8), datetime. date(1962, 1, 5), datetime. date(1962, 1, 4), datetime. date(1962, 1, 3), datetime. date(1962, 1, 2)]
&ГТ;&ГТ;&ГТ; печать(дата.индекс(типа datetime.дата(1962,1,9)))
0
>>>

Richard MacCutchan

Ваш пример не соответствует вашим комментариям ниже. значение datetime.дата не принимает строки (мозг в режиме C#?).

CPallini

Вы правы, спасибо, что указали. Кстати, я полагаю, что это скорее "нехватка кофеина", чем " режим C#".

CPallini

Мое решение является фиксированным, то теперь, благодаря Ричард.

Richard MacCutchan

Я наслаждаюсь хорошей чашкой Лаваццы. Интересно, стану ли я суперинтеллектуальным?

Member 11436383

Спасибо

CPallini

Ты не пьешь кофе, ты пьешь чай, моя дорогая...
:-)

CPallini

Добро пожаловать.

Рейтинг:
14

Richard MacCutchan

Вы должны указать значение того же типа, что и значения в списке. В вашем случае все значения datetime.date типы, поэтому ваш параметр должен быть таким же, например:

date.index(datetime.date(1962, 1, 3))


CPallini

5.

Member 11436383

Спасибо, что сделали