Python - 重复字符串直到 K

pythonserver side programmingprogramming

Python 被世界各地的不同人用于不同的目的,例如 Web 开发、机器学习、数据科学以及使用自动化执行不同的流程。在本文中,我们将学习如何通过重复相同的字符串来增加字符串的长度,直到达到所需的长度。

重复字符串的不同方法

字符串乘法

在此方法中,我们只需通过乘法运算即可获得所需的长度。我们将提供一个特定值,然后将字符串相乘以达到特定数量的字符。该方法的语法如下:

def repeat_string(data, length): # 给出字符串的输入以及最终字符串中的字符数的值
    whole_string = length // len(data) # 找到整个字符串将被写入的次数
    extra_characters = length % len(data) # 为达到找到的字符数而添加一些额外字符的次数
    
    final_string = data * whole_string + data[:extra_characters] # 通过重复整个字符串并添加一些额外字符以达到所需长度来创建新字符串
    
    return final_string

示例

上述方法的示例如下:

def repeat_string(data, length): # 给出字符串的输入以及最终字符串中的字符数的值
    whole_string = length // len(data) # 找到将写入整个字符串的次数
    extra_characters = length % len(data) # 找到将添加一些额外字符以达到字符数的次数
    
    final_string = data * whole_string + data[:extra_characters] # 通过重复整个字符串并添加一些额外字符以达到所需长度来创建新字符串
    
    return final_string
old_string = "Example" # 给出字符串的输入
final_length = 25 # 指定所需的字符数

new_string = repeat_string(old_string, final_length) # 运行 repeat_string 函数
print(new_string)

输出

上述代码的输出如下:

ExampleExampleExampleExam

While 循环

在此方法中,while 循环将继续执行字符串,直到达到所需长度并且语句变为真。上述方法的语法如下:

def whole_string(data, length): # 字符串的输入与最终字符串中的字符数值一起给出
    final_string = "" # 创建一个包含重复字符串的新空字符串
    
    while len(final_string) < length: # 为循环提供条件以达到所需长度
    final_string += data
    
    final_string = final_string[:length] # 删除所有不需要的元素并使字符串达到所需长度
    
    return final_string

示例

上述方法的示例如下:

def whole_string(data, length): # 字符串的输入与最终字符串中的字符数值一起给出
    final_string = "" # 创建一个包含重复字符串的新空字符串
    
    while len(final_string) < length: # 为循环提供条件,以实现所需长度
    	final_string += data
    
    final_string = final_string[:length] # 删除所有不需要的元素,并使字符串达到所需长度
    
    return final_string
old_string = "Example" # 给出字符串的输入
final_length = 25 # 指定字符串的所需长度

new_string = whole_string(old_string, final_length) # 运行 whole_string 函数
print(new_string) # 显示所需长度的输出

输出

该方法的输出将如下所示:

ExampleExampleExampleExam

Itertools

Itertools 用于高效检查字符串中的每个元素。我们将使用 itertools 库中的一个函数来实现所需的字符串长度,并在达到所需长度后停止将字符串复制到切片函数。该方法的语法如下:

import itertools # 不要忘记导入 itertools,否则可能会出错

def whole_string(data, length): # 字符串的输入与字符串的所需长度一起给出
    final_string = ''.join(itertools.islice(itertools.cycle(data), length)) #itertools.cycle 将有助于重复字符串,一旦达到所需长度,itertools.slice 将停止重复
    return final_string

示例

上述方法的示例如下:

import itertools # 不要忘记导入 itertools,否则可能会出错

def whole_string(data, length): # 字符串的输入与字符串的所需长度一起给出
    final_string = ''.join(itertools.islice(itertools.cycle(data), length)) #itertools.cycle 将有助于重复字符串,一旦达到所需长度,itertools.slice 将停止重复
    return final_string
old_string = "Example" # 字符串的输入已给出
final_length = 25 # 指定字符串的所需长度

new_string = whole_string(old_string, final_length) # 运行 whole_string 函数
print(new_string) # 显示所需长度的输出

输出

上述代码的输出将如下:

ExampleExampleExampleExam

列表推导

此方法将检查字符串中的每个元素,然后创建一个新字符串,其中的元素将不断重复,直到达到所需的长度。此方法的语法如下:

def whole_string(data, length): # 字符串的输入与字符串所需的长度一起给出
    final_string = [char for char in data for _ in range(length // len(data) + 1)] # 检查字符串的每个元素,然后重复它们,直到达到所需的长度
    updated_string = ''.join(final_string[:length]) # 一旦达到所需的长度,元素将连接在一起成为 1
    
    return updated_string

示例

上述方法的示例如下:

def whole_string(data, length): # 给出字符串的输入以及所需的字符串长度
    final_string = [char for char in data for _ in range(length // len(data) + 1)] # 检查字符串的每个元素,然后重复执行,直到达到所需的长度
    updated_string = ''.join(final_string[:length]) # 一旦达到所需的长度,元素将连接在一起成为 1
    
    return updated_string
old_string = "Example" # 给出字符串的输入
final_length = 25 # 提供所需的字符串长度

new_string = whole_string(old_string, final_length) # 运行 whole_string 函数
print(new_string) # 显示具有所需长度的输出

输出

示例的输出如下如下:

EEEEExxxxaaaammmmpppplllle

结论

在 Python 中,通常重复一个字符串,直到它达到一定长度。在本文中,我们研究了四种不同的方法来实现这一点:字符串乘法、while 循环、使用 itertools 函数和列表理解。根据您的个人需求和编码偏好,您可以从每个选项中进行选择,以提供解决问题的方法。

处理巨大的字符串或异常长的所需长度时,重要的是要记住性能影响,因为某些方法可能比其他方法更有效。


相关文章