Когда я назначаю список переменной, почему 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-> Создание списка может быть..."