2016-11-19 3 views
0
date_index = data['date'].index(input_date) 

Из приведенного выше кода, если input_date не совпадают в любом индексе данных [ «дата»] он получит и ошибки по:Как вернуть None, если .index() получил ValueError?

> ValueError: '99/99/9999' is not in list 

, но я хочу, чтобы получить нет, если есть ValueError. я попробовать с помощью

if data['date'].index(input_date) is None: 
    return None 
else: 
    pass 

но это не работает.

спасибо.

+0

Почему вы думаете, что 'if' будет работать? Если '.index' вернул' None' *, у вас уже будет 'None'! * Либо« попробуйте », либо поймайте ошибку или проверьте, является ли элемент первым в списке. – jonrsharpe

ответ

0

Два распространенных способа справиться с этим:

data_index = data['date'].index(date_of_stock) if data['date'] else None 

Или

try: 
    data_index=data['date'].index(date_of_stock) 
except ValueError: 
    data_index=0 
Смежные вопросы