Python程序:将字符串分为“N”个相等的部分

Python程序:将字符串分为“N”个相等的部分

在Python中,可以使用切片方法将字符串分为N个相等的部分。可以通过指定子字符串的起始和结束索引来提取等长度的子字符串。在这篇文章中,我们将看到如何使用Python切片方法将字符串分为N个相等的部分。

要将字符串分为N个相等的部分,我们需要创建一个函数,该函数将原始字符串和要将字符串分成的部分数作为输入,并以N等效字符串作为输出返回结果。如果字符串包含无法分配到N个相等部分中的一些额外字符,我们将它们添加到最后一个子字符串中。

示例1

在下面的示例代码中,我们创建了一个名为 divide_string 的方法,该方法将原始字符串和将字符串分为的部分数作为输入,并将N等效子字符串作为输出返回。函数divide_string执行以下操作−

  • 通过将原始字符串的长度除以部件数(N)来计算每个子字符串的长度。

  • 使用列表推导将字符串分成N部分。我们从索引0开始,以步长 part_length(length_of_string / N) 开始,直到我们到达字符串的末尾。

  • 如果有任何额外的剩余字符没有添加到子字符串中,我们将它们添加到最后一个子字符串中。

  • 返回等长的N个子字符串。

def divide_string(string, parts):
   # 确定每个子字符串的长度
   part_length = len(string) // parts

   # 将字符串分成“部件”数量的子字符串
   substrings = [string[i: i + part_length] for i in range(0, len(string), part_length)]

   # 如果有任何剩余字符,请将其添加到最后一个子字符串中
   if len(substrings)> parts:
      substrings[-2] += substrings[-1]
      substrings.pop()

   return substrings
string = "abcdefghi"
parts = 3

result = divide_string(string, parts)
print(result)

输出

 ['abc','def','ghi']

示例2

在下面的示例中,字符串的长度为26,需要将其分成6个相等的部分。因此,每个子字符串的长度将为4。但是,在将字符串分成6个部分后,字符串的2个字符是额外的,它们会添加到最后一个子字符串中,如输出所示。

def divide_string(string, parts):
   # 确定每个子字符串的长度
   part_length = len(string) // parts

   # 将字符串分成“部件”数量的子字符串
   substrings = [string[i: i + part_length] for i in range(0, len(string), part_length)]

   # 如果有任何剩余字符,请将其添加到最后一个子字符串中
   if len(substrings)> parts:
      substrings[-2] += substrings[-1]
      substrings.pop()

   return substrings
string = "Welcome to tutorials point"
parts = 6

result = divide_string(string, parts)
print(result)

输出

 ['Welc','ome','to','utor','ials','point']

结论

在本文中,我们了解了如何使用Python切片功能将字符串分成N个相等的部分。通过将字符串的长度除以N来计算每个子字符串的长度,并在字符串分割后添加任何剩余字符到最后一个子字符串中,这是将字符串分成N个相等部分的有效方法。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程