[英]Python: Loop: formatting string
我不知道如何表达这一点。 我要打印:
_1__2__3__4_
用"_%s_"
作为其子串。 在格式化子字符串时如何获取主字符串? (作为捷径:
for x in range(1,5):
print "_%s_" % (x)
(即使打印多行))
编辑:只需一行
你的意思是这样的吗?
my_string = "".join(["_%d_" % i for i in xrange(1,5)])
这会根据请求创建子字符串列表,然后使用空字符串作为分隔符连接列表中的项目(请参阅str.join()文档)。
或者,您可以通过带有+=
运算符的循环添加到字符串,尽管它更慢且效率更低:
s = ""
for x in range(1,5):
s += "_%d_" % x
print s
print("_" + "__".join(map(str, xrange(1,5)))) +"_"
_1__2__3__4_
In [9]: timeit ("_" + "__".join(map(str,xrange(1,5)))) +"_"
1000000 loops, best of 3: 1.38 µs per loop
In [10]: timeit "".join(["_%d_" % i for i in xrange(1,5)])
100000 loops, best of 3: 3.19 µs per loop
Python 3:
print("_{}_".format("__".join(map(str,range(1,5)))))
_1__2__3__4_
Python 2:
print "_{0}_".format("__".join(map(str,range(1,5))))
_1__2__3__4_
如果你愿意,你可以保持自己的风格。
如果您使用的是python 2.7:
from __future__ import print_function
for x in range(1,5):
print("_%s_" % (x), sep = '', end = '')
print()
对于python 3.x,不需要导入。
python doc: https : //docs.python.org/2.7/library/functions.html? highlightlight = print #print
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.