如何在Python中多次重复一个字符串

1,863 阅读3分钟

问题的提出和解决方案概述

在这篇文章中,你将学习如何在Python中多次重复一个字符串。

在你的Python程序员生涯中,你会遇到一个字符串需要被输出/显示指定次数的情况。下面的例子为你提供了完成这一任务的各种方法。


💬 问题:我们如何编写重复一个字符串多次的 Python 代码?

我们可以通过下面的一个选项来完成这个任务。


方法1:使用print()和乘法运算符

这种方法使用Python的内置 print()语句与一个 multiplication operator来多次输出一个字符串。

saying = 'Wash. Rinse. Repeat!\t'
print(saying * 3)

上面声明了字符串 'Wash. Rinse. Repeat!' 后面有一个Tab字符,也被称为转义字符(\t)。结果保存到saying

接下来,该 print()语句输出三(3)次saying ,在同一行的每个saying 之间有转义字符(\t)。

Wash. Rinse. Repeat! Wash. Rinse. Repeat! Wash. Rinse. Repeat!

方法2:使用For Loop和range()。

这个方法使用了一个 for循环与 range()函数来迭代并输出一个字符串的设定次数。

for i in range(3):
    print('I never want to grow up!')

以上实例化了一个 For循环与 range() 函数的循环。该函数接受一个起始位置(非必需)、一个停止位置(必需)和一个步骤(非必需)。除非另有说明,起始位置总是零 (0)。停止位置总是stop-1。

语句中的 print()语句向终端输出一行,每一次迭代都如下图所示。

I never want to grow up!
I never want to grow up!
I never want to grow up!

方法3:使用input() 函数

该方法提示用户输入指定的次数来重复一个字符串,使用 [int()](https://blog.finxter.com/python-int-function/)[input()](https://blog.finxter.com/python-input-function/)函数。

num = int(input('Number of times to repeat a string? '))
print('Hello World!\n' * num)

上面,提示用户输入一个字符串将显示多少次。他们的答案被转换为一个整数(int()),并保存到num

接下来,字符串 'Hello World' 被输出到终端。换行符被加上(\n),因此每次输出都显示在一个新的行上。

在这个例子中,数字三(3)被输入。

Hello World!
Hello World!
Hello World!

💡注意:换行符(\n)导致最后一行(第3行)有一个额外的空行。


方法4:使用itertools.repeat()

这个方法使用Python的内置库 [itertools](https://blog.finxter.com/iterators-iterables-and-itertools/)来调用 [repeat()](https://docs.python.org/3/library/itertools.html)函数,它重复一个数字或字符串的规定次数。

import itertools   
print(list(itertools.repeat('HELP ME', 3)))

以上,导入的是 [itertools](https://blog.finxter.com/iterators-iterables-and-itertools/)库。

然后,调用该 [repeat()](https://docs.python.org/3/library/itertools.html)函数被调用,并传递两(2)个参数:要重复的字符串和要重复的次数。然后将其转换为一个 list并输出到终端。

['HELP ME', 'HELP ME', 'HELP ME']

方法5:使用一个DataFrame

这个方法使用一个DataFrame和一个空列来指定一个默认值。

Pandas库必须被安装和导入以无误地运行这段代码。

import pandas as pd 
df = pd.read_csv('finxters.csv', usecols=['FID', 'First_Name', 'Last_Name'])
df['Award'] = 'TBD'
df.to_csv('finxter1.csv')
print(df.head(3))

以上,导入了 Pandas库来读入CSV文件,并与一个DataFrame一起工作。

然后,只将finters.csv 的几列读入DataFramedf

接下来,DataFramedf 被保存到一个新的CSV文件,finxters1.csv ,并放在当前工作目录下。

最后,输出被发送到终端。在这个例子中,只有三(3)行被显示。

身份证姓氏奖励
030022145史蒂夫汉密尔顿待定
130022192艾米普利斯特待定
230022331彼得邓恩待定

总结

这5种多次打印字符串的方法应该给你足够的信息来选择最适合你编码要求的方法。

祝您好运,编码愉快!