2015-06-23 3 views
1

У меня есть список дат, написанный в виде строк, называемого depart_date«список индексы должны быть целыми, не Обл» ​​Ошибки при использовании функции strptime

depart_date = ['3/1/2012', '3/4/2012', '3/11/2012'] 

т.д.

Я хотел бы преобразовать . они на сегодняшний день объекты Это то, что у меня есть:

for i in depart_date: 
    dep_date = datetime.strptime(depart_date[i], '%m/%d/%Y') 

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

Любая помощь ??

+0

'i' является значение, а не индекс, поэтому заменить' depart_date [я] '' с i', и вероятно, стоит переименовать 'i' в' cur_date' или что-то – clcto

+0

Я отредактировал ваш вопрос, чтобы включить тег языка, основанный на синтаксисе в вопросе. Если это неправильный язык, обновите его. – clcto

ответ

0

Вам нужно добавить .Length

for i in depart_date.Length: 
    dep_date = datetime.strptime(depart_date[i], '%m/%d/%Y') 

Альтернатива:

for i in depart_date: 
    dep_date = datetime.strptime(i, '%m/%d/%Y') 
+0

Первый дает ошибку времени выполнения: http://ideone.com/eoa71U – clcto

+0

Я не очень хорошо знаком с javascript, но я просто знаю, что это должно быть чем-то вроде этого. Я думаю, что 'i' должно быть перечисляемым значением непосредственно из переменной, которую вы передаете после' in'. Вот почему я опубликовал вторую альтернативу. Это похоже на C# 'foreach', и в этом случае вам придется сделать это в качестве второго примера. – maksymiuk

+0

Я довольно уверен, что это python, а не javascript. Обозначение Javascript является ['for (variable in object) {}'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in) – clcto