当前位置:  开发笔记 > 编程语言 > 正文

Python中的字符串格式

如何解决《Python中的字符串格式》经验,为你挑选了4个好方法。

我想做一些类似的String.Format("[{0}, {1}, {2}]", 1, 2, 3)回报:

[1, 2, 3]

我如何在Python中执行此操作?



1> DNS..:

之前的答案使用了%格式,这在Python 3.0+中逐步淘汰.假设您使用的是Python 2.6+,这里描述了一个更具前瞻性的格式化系统:

http://docs.python.org/library/string.html#formatstrings

虽然还有更多高级功能,但最简单的形式最终看起来非常接近您所写的内容:

>>> "[{0}, {1}, {2}]".format(1, 2, 3)
[1, 2, 3]


此外,在Python 3.1中,没有必要指定序数."[{},{},{}]".format(1,2,3)
在2.7中,序数也是可选的

2> Peter..:

你可以用三种方式做到:


使用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)

注意名字'one','two'和'three'可以是任何有意义的.)

print "[{one}, {two}, {three}]".format(three=3, two=2, one=1)


为了完整,使用"经典"风格,你也可以:`print"[%(one)i,%(two)i,%(three)i]"%{'three':3,'two': 2, '一个':1}`

3> chills42..:

你正在寻找字符串格式,在python中它是基于C中的sprintf函数.

print "[%s, %s, %s]" % (1, 2, 3)

有关完整参考,请访问:http: //docs.python.org/library/stdtypes.html#string-formatting



4> Riccardo Gal..:

要按顺序打印元素,请使用{}而不指定索引

print('[{},{},{}]'.format(1,2,3))

(从python 2.7和python 3.1开始工作)

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有