Почему эти строки кода допустимы в python?

boonwj спросил: 03 ноября 2018 в 09:01 в: python

Редактировать. Кажется, этот вопрос перепутан с нарезкой списка и использованием неправильного кода. Уточнение вопроса далее.

Я хотел бы спросить, что означают следующие 2 строки кода буквально для языка Python.

In [51]: data = list(range(10))                                                                              
In [53]: data[-1]   

Справочная информация

Я случайно запустил вышеупомянутый необработанный вывод Jupyter Notebook через средство проверки синтаксиса python (pylint), и на удивление он не вывел синтаксическую ошибку, а вместо этого

In [53]: data[-1]  
   ^ (bad-whitespace)
code2.py:1:0: C0111: Missing module docstring (missing-docstring)
code2.py:1:0: E0602: Undefined variable 'In' (undefined-variable)
code2.py:1:9: E0602: Undefined variable 'data' (undefined-variable)
code2.py:2:0: E0602: Undefined variable 'In' (undefined-variable)
code2.py:2:9: E0602: Undefined variable 'data' (undefined-variable)------------------------------------------------------------------------
Your code has been rated at -115.00/10 (previous run: -90.00/10, -25.00)

Поэтому я попытался понять, что буквально делали эти строки кода.

И я попытался подключить отсутствующие переменные.

Это где я получил следующий результат, который выглядит как словарное присваивание.

In = {}
data = ['apple'] # This list needed values, otherwise data[-1] threw an errorIn [51]: data = list(range(10))                                                                              
In [53]: data[-1] print(In)    # {51: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]}# Why were there no values for key 53? (either {53: 'apple'})

Я не мог понять, что происходит с двумя строками кода.

Я не сделал не думаю, что эта строка кода была допустимой In [51]: data = list(range(10)), и поскольку это так, почему значение In [53] не было присвоено после этого?

Так что любое объяснение или Направление к ссылкам будет с благодарностью. Спасибо.


0 ответов