Почему на Земле не переводчик поднять SyntaxError каждый раз я делаю это:Проблема со списком строк в Python
my_abc = ['a',
'b',
'c'
'd',]
Я просто хотел бы добавить «с» в список строк, и забыл добавить запятая. Я ожидаю, что это вызовет какую-то ошибку, так как это неверно.
Вместо того, что я получил:
>>> my_abc
['a', 'b', 'cd']
И это никогда то, что я хочу.
Почему автоматическая конкатенация? Я не могу подсчитать, сколько раз я был укушен этим поведением. Есть ли что-нибудь, что я могу с этим сделать?
Просто для уточнения *: Я на самом деле не против автоматического конкатенацию, моя проблема связана только со списками строк, потому что они часто делают гораздо больше, чем просто носить текст, они используются для управления потоком , передавать имена полей и многое другое.
Или поместите запятую ПОСЛЕ каждого элемента (включая последний), интерпретатор разрешает дополнительную запятую. Таким образом, если вы отформатируете свой список как одно значение на строку и переместите элементы вверх или вниз, вы не столкнетесь с этой проблемой. –
Это похоже на то, что сделал оригинальный вопрос постер (и tha t и то, что я обычно делаю по причине, которую вы только что сказали), но недостающая кома в конце строки может легко исчезнуть. Противоположная проблема также возникла для меня: конечная кома в конце строки, меняющая константу на кортеж. Я считаю, что это еще труднее обнаружить, чем другое :-( – kriss
принято для лучших усилий;] – kurczak