Python: верните две квадратные скобки, что это значит? Может кто-нибудь объяснить, как работает этот код? - PullRequest
0 голосов
/ 17 июня 2020

Код

Может кто-нибудь объяснить, как работает этот код? Что это за «тема» в python? Если месяц = ​​1, код возвращает 31.

def days_in_month(month): 
    return [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month-1]

Ответы [ 2 ]

1 голос
/ 17 июня 2020

Вы создаете список с []. Вы индексируете его с помощью [месяц-1]. Когда вы передаете month = 1, вы индексируете 1-1 = 0, который является элементом с нулевым индексом, а также первым элементом.

0 голосов
/ 17 июня 2020
def days_in_month (month) :
    return [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month-1]

Приведенный выше код просто возвращает индекс из списка [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]. Это похоже на сохранение списка, например

lst =  [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] 

, и доступ к таким значениям, как lst[month-1].

В вашем случае вы передаете параметр как 1, следовательно, он индексирует 0 (month - 1) списка, поэтому он возвращает [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] [0], равное 31. Его можно рассматривать как lst[0], если вы сохраняете список в переменной, а затем индексируете его.

...