xxPython注释多行不在数组中

时间:2015-02-08 07:55:57

标签: python

例如: 我有

array = [\
1,
2,
3,
4
]

我想评论2和3 这有效:

array = [\
1,
#2,
#3,
4
]

这不是:

array = [\
1,
'''
2,
3,
'''
4
]

现在想象一下阵列是巨大的。数百行。除非使用一些编辑技巧,否则我找不到一个简单的方法。 我无法相信Python作为一种语言没有适合多行评论的东西。 同样,它没有{}的事实比这更糟糕。 请指出应如何做到这一点,而且我在Google上找到它太愚蠢了。

- 编辑2 - 我同意每个人以这种方式存储数据并不理想。但我有一些现有的错误代码。我需要快速处理以找出问题所在。让我们面对现实,除非你从未在真正的工作中工作过,否则我们都去过那里。我以前使用的任何其他语言都有语法来阻止注释多行代码中的任何行。不要有人觉得这是Python的问题吗?

2 个答案:

答案 0 :(得分:7)

你错了。

'''是多行字符串语法。它不是单独评论。由于字符串转换,您无法获得输出。

编辑:

虽然

array = [\
1,
#2,
#3,
4
]

被读为

array = [\
1,
4
]

array = [\
1,
'''
2,
3,
'''
4
]

被读为

array = [\
1,
"\n2,\n3,\n"
4
]

因此我们发现语法错误。


我刚刚发现自己的是

array = [\
1,
"""
2,
3,
"""
,4]

Works :)因为它读起来像:

array = [\
1,
"\n2,\n3,\n",
4]

要验证这样做:

print array

答案 1 :(得分:3)

假设你甚至没有带有评论功能的半合半编辑器,并且假设这是在大文件中执行此操作的唯一方法。如果你执行"""...""",它将创建一个多行字符串文字。现在,如果您感兴趣的数组中的所有内容都是数字不是字符串的任何内容,那么这是您的幸运日:

array = [
1,
2,
"""
3,
4
""",  # this comma must be here
5
]

请注意,现在您的数组实际上是[1, 2, '\n3,\n4\n', 5],也就是说,数据中存在多行字符串。现在,您可以通过执行以下操作清除数组中的任何字符串

array = [ i for i in array if not isinstance(i, str) ]

获取[1, 2, 5]

当然,这不是没有开销的,所以我宁愿选择#34;编辑技巧"。