2017-01-14 1 views
0

Мне нужно написать функцию day_to_number(day), которая принимает предоставленный глобальный список day_list и возвращает позицию данного дня в этом списке. Кажется, я не могу заставить его работать.Преобразование дней недели в соответствующее число с использованием списков

Вот мой код.

day_list = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] 

def day_to_number(day): 
    for day in day_list: 
     return day_list.index(day) 

print day_to_number("Saturday") 

Спасибо за помощь заранее

+3

Вам не нужно 'for' цикл, просто' возвращение day_list.index (день) '? – Psidom

+0

Вы затеняете параметр 'day' переменной цикла, также называемой' day'. Поэтому неважно, что такое вход. – jonrsharpe

+0

Если вы не будете делать это преобразование, то индекс большой. Однако это линейная операция времени. Вы могли бы создать диктовое отображение имени дня для индекса, например: 'daynums = {day: i для i, day in enumerate (day_list)}'. Поскольку ваш вопрос конкретно упоминает списки, я не публиковал это как ответ. –

ответ

1
>>> day_list.index("Sunday") 
0 

Просто используйте индекс