我想做类似 String.Format("[{0}, {1}, {2}]", 1, 2, 3)
的事情,返回:
[1, 2, 3]
我如何在 Python 中执行此操作?
原文由 Joan Venge 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想做类似 String.Format("[{0}, {1}, {2}]", 1, 2, 3)
的事情,返回:
[1, 2, 3]
我如何在 Python 中执行此操作?
原文由 Joan Venge 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以通过三种方式做到这一点:
使用 Python 的自动漂亮打印:
print [1, 2, 3] # Prints [1, 2, 3]
用变量显示相同的东西:
numberList = [1, 2]
numberList.append(3)
print numberList # Prints [1, 2, 3]
使用“经典”字符串替换(ala C 的 printf)。请注意此处 % 作为字符串格式说明符的不同含义,以及 % 将列表(实际上是一个元组)应用于格式化字符串。 (请注意 % 用作算术表达式的模(余数)运算符。)
print "[%i, %i, %i]" % (1, 2, 3)
请注意,如果我们使用预定义的变量,我们需要将它变成一个元组来执行此操作:
print "[%i, %i, %i]" % tuple(numberList)
使用 Python 3 字符串格式。这在早期版本(从 2.6 开始)中仍然可用,但在 Py 3 中是这样做的“新”方式。请注意,您可以使用位置(序数)参数或命名参数(我已经把它放在他们以相反的顺序。
print "[{0}, {1}, {2}]".format(1, 2, 3)
请注意名称“一”、“二”和“三”可以是任何有意义的名称。)
print "[{one}, {two}, {three}]".format(three=3, two=2, one=1)
原文由 Peter 发布,翻译遵循 CC BY-SA 2.5 许可协议
2 回答4.2k 阅读✓ 已解决
2 回答808 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
2 回答2.1k 阅读✓ 已解决
3 回答785 阅读✓ 已解决
4 回答2.5k 阅读
1 回答2.7k 阅读✓ 已解决
之前的答案使用了 % 格式,这种格式在 Python 3.0+ 中被逐步淘汰。假设您使用的是 Python 2.6+,这里描述了一个更面向未来的格式化系统:
http://docs.python.org/library/string.html#formatstrings
尽管还有更多高级功能,但最简单的形式最终看起来非常接近您所写的内容: