Python 将注释放置在多行列表文字中

Python 将注释放置在多行列表文字中,python,list,comments,literals,Python,List,Comments,Literals,我正在做一个优化问题,写一个巨大的列表。我想在下面的列表中插入评论 my_rhs = [1.0, 1.0, 0.0, 0.0, 0.0,\ #comment1 -1.0, -1.0, -1.0,\ #comment2 0.0, 0.0, 0.0] 但当我这样做时,Python会给出一个错误。我如何在显示的位置发表评论?我尝试将每一行定义为一个新列表,并使用+进行追加,但这似乎也不起作用。如下 my_rhs = [1.0, 1.0, 0.0, 0.0, 0.

我正在做一个优化问题,写一个巨大的列表。我想在下面的列表中插入评论

my_rhs = [1.0, 1.0, 0.0, 0.0, 0.0,\ #comment1
         -1.0, -1.0, -1.0,\ #comment2
          0.0, 0.0, 0.0]
但当我这样做时,Python会给出一个错误。我如何在显示的位置发表评论?我尝试将每一行定义为一个新列表,并使用
+
进行追加,但这似乎也不起作用。如下

my_rhs = [1.0, 1.0, 0.0, 0.0, 0.0]+\ #comment1
         [-1.0, -1.0, -1.0]+\ #comment2
         [0.0, 0.0, 0.0]

如何在显示的位置进行注释而不让Python给出错误?

您只需删除反斜杠字符:

my_rhs = [1.0, 1.0, 0.0, 0.0, 0.0, # comment1
         -1.0, -1.0, -1.0,  # comment2
          0.0, 0.0, 0.0]
下面是一个演示:

>>> my_rhs = [1.0, 1.0, 0.0, 0.0, 0.0, # comment1
...          -1.0, -1.0, -1.0,  # comment2
...           0.0, 0.0, 0.0]
>>> my_rhs
[1.0, 1.0, 0.0, 0.0, 0.0, -1.0, -1.0, -1.0, 0.0, 0.0, 0.0]
>>>
\
字符告诉Python以下行是当前行的一部分。因此,它解释如下:

my_rhs = [1.0, 1.0, 0.0, 0.0, 0.0,\ #comment1
         -1.0, -1.0, -1.0,\ #comment2
          0.0, 0.0, 0.0]
与此等效:

my_rhs = [1.0, 1.0, 0.0, 0.0, 0.0, #comment1 -1.0, -1.0, -1.0, #comment2 0.0, 0.0, 0.0]

值得注意的是,Python代码的官方样式指南中有一节是关于包装长行的:

包装长行的首选方法是使用Python的 括号、括号和大括号内的行继续。长队 可以通过在中包装表达式在多行上断开 圆括号。这些应该优先使用,而不是使用反斜杠 用于行继续

本节摘自以下内容:

以反斜杠结尾的行不能包含注释。反斜杠可以 不要继续评论。反斜杠不会继续标记,除非 对于字符串文字(即,不能使用字符串文字以外的标记 使用反斜杠跨物理行拆分)。反斜杠是非法的 在字符串文本之外的行上的其他位置


这是一个很棒的答案!。。。。谢谢我希望我能投票,但我在这里似乎没有什么“名声”。