【发布时间】:2015-12-27 05:50:55
【问题描述】:
我有以下python代码sn-p:
LL=[]
for i in range(3):
LL.append("a"+str(i))
print LL
输出如下:
['a0', 'a1', 'a2']
如何打印(使用print LL):
[a0, a1, a2]
即没有引号? 如果我使用以下代码:
print "[",
for i in range (len(LL)-1):
print LL[i] + ", ",
print LL[i+1]+"]"
这打印[a0, a1, a2]
【问题讨论】:
-
通过格式化输出。
'[{}]'.format(', '.join(LL))。容器的str()转换不适合最终用户使用,它是一种调试工具,而不是可配置的东西。 -
不明白为什么我被否决了,我的基本意图是有一个更清晰的输出,例如,我有一个 Point 类,它的字符串表示形式显示为 (2,3),我想要点的oprint列表为:[(2,3),(4,5)],我问错了吗?
-
如果数字是字符串,则表示形式会为您显示附加引号,当然。
-
我不能给你比 Bhargav Rao 已经给出的更好的建议
-
@Dr.DebasishJana 从您的 cmets 来看,我想您可能会误解。
'仅在列表成员是字符串或在该类的__repr__()中明确包含'字符的另一个类时出现。使用括号时它不是“显而易见的” - 您只会得到'来表示字符串值而不是其他类型。要使用您的Point类示例 - 如果您将__repr__()定义为不显示',那么它不会显示。这比改变显示列表的内置方式更好(不那么令人惊讶)。例如,请参阅 dpaste.com/2QWH266 我实现它的地方。
标签: python list python-2.7