为什么在地球上没有解释器每次我这样做时都会引发SyntaxError:
my_abc = ['a',
'b',
'c'
'd',]
Run Code Online (Sandbox Code Playgroud)
我只想将'c'添加到字符串列表中,忘了附加逗号.我希望这会导致某种错误,因为它是不正确的.
相反,我得到了:
>>> my_abc
['a', 'b', 'cd']
Run Code Online (Sandbox Code Playgroud)
这绝不是我想要的.
为什么会自动连接?我几乎无法计算我被这种行为咬了多少次.有什么我可以做的吗?
只是为了澄清*:我实际上并不介意自动连接,我的问题只能用字符串列表来做,因为它们通常不仅仅包含文本,它们用于控制流,传递字段名称和许多其他的事情.
正如其他人所说,这是设计使然。
为什么会这样呢?主要是出于历史原因:C 也这样做。
在某些情况下,它很方便,因为它可以减少语法噪音并避免添加不需要的空格(内联 SQL 查询、复杂的正则表达式等)。
你能做些什么呢?不多,但如果它确实经常发生在您身上,请尝试以下技巧之一。
拆分列表:对于单词列表,您可以将整个列表仅放入一个字符串中,然后将其拆分,如下所示。对于超过 5 个元素,它也会更短。
'abcd e'.split(' ').