如何在Python中重复字符而不使用字符串连接?

11

我目前正在编写一个短程序来进行频率分析。然而,有一行代码让我感到困扰:

"{0[0]}  | " + "[]" * num_occurrences + " Total: {0[1]!s}"
在Python中,有没有一种方法可以在不使用连接(最好在格式字符串内部)的情况下任意重复某些字符? 我觉得我并没有以最Pythonic的方式完成这项任务。

2
可以再详细解释一下吗?例如,添加一些简单的输入和输出示例。 - Bhargav Rao
"{0} | {1} 总数: {2!s}".format("一些值", "[]"*10, "非字符串") 这可能是您要找的。 - Tanveer Alam
真不敢相信我没想到那个。谢谢! - Spaxxy
1个回答

20

重复字符或字符串的最佳方法是使用乘法:

>>> "a" * 3
'aaa'
>>> '123' * 3
'123123123'

对于你的示例,我可能会使用:

>>> "{0[0]}  | {1} Total: {0[1]!s}".format(foo, "[]" * num_occurrences)

我认为原帖的作者已经在这样做了,使用"[]" * num_occurrences - jedwards
1
@jedwards,问题的后半部分涉及连接,我的回答的后半部分也是如此 :) - David Wolever
嗯...我觉得这原本不在那里... :-P 好吧,说得也有道理。 - jedwards

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接