Когда я назначаю список переменной, почему Pycharm дает мне подсказку, что "это создание списка может быть переписано как листинг списка"?

Я начинающий Python и имею головоломку. Когда я пишу код следующим образом:

lst = [1, 2, 3, 4]

Pycharm дает мне подсказку, что "это создание списка может быть переписано как листинг списка". Но если он заменяется на

lst = list([1, 2, 3, 4])

Пьячарм ничего не говорит. Кто мог мне объяснить, почему?

Является ли этот код как lst = [1, 2, 3, 4] законным в Python? Могу ли я игнорировать подсказку?

Ответ 1

Проверьте свой код, чтобы убедиться, что у вас нет lst где-то еще, как lst=[].

Если вы наберете следующее:

lst= []
# more code
lst = [1, 2, 3, 4]

Вы получите приглашение. Вы не столкнетесь с проблемами, если будете придерживаться этого, но это плохая практика.

В этих двух случаях вы используете функцию для изменения переменной: list() и append(). В предыдущем, где вы просто переопределяете переменную явно.

Другой неправильный пример:

a = 7
# some code that has nothing to do with "a" or uses it
a = 8

Просто установите a = 8 для начала. Нет необходимости хранить a = 7.

Ответ 2

Полностью законно писать такой код на Python. Однако, написание кода

lst = [1, 2, 3, 4, 12]

будет "лучше", чем

lst = [1, 2, 3, 4]
... # code has nothing do to with lst
lst.append(12)

В общем, первая имела бы лучшую производительность, чем последняя, но если последняя более читаема в вашем случае/у вас есть веская причина, то вы можете игнорировать приглашение PyCharm.

Если это вас беспокоит, вы можете отключить эту проверку

"PyCharm-> настройки → editor-> проверка → Python-> Создание списка может быть..."