在Python中按自定义长度拆分字符串的程序

在Python中按自定义长度拆分字符串的程序

在本文中,我们将学习如何在Python中按自定义长度拆分字符串。

使用的方法

以下是完成此任务的各种方法−

  • 使用for循环和切片

  • 使用列表推导式,join()和next()函数

示例

假设我们已经输入了一个 输入字符串自定义长度列表 。我们现在将使用上述方法,按输入的自定义长度拆分输入字符串。

输入

inputString = 'hitutorialspoint'
customLengths = [4, 1, 6, 5]

输出

['hitu', 't', 'orials', 'point']

在上面的示例中,首先根据给定的自定义长度拆分了输入列表−

4个字符 – ‘hitu’

1个字符 – ‘r’

6个字符 – ‘orials’

5个字符 – ‘point

方法1:使用for循环和切片

算法(步骤)

执行所需任务的以下是算法/步骤−。

  • 创建一个变量来存储输入字符串。

  • 打印输入字符串。

  • 创建一个变量来存储输入自定义长度列表。

  • 为存储结果列表创建一个空列表。

  • 初始化start index为0。

  • 使用 for循环 遍历自定义长度列表的每个元素。

  • 使用 append() 函数(将元素添加到列表的末尾)来追加在给定索引之间切片的结果。

  • 将start index的值增加与自定义长度列表元素相同的值。

  • 按给定自定义长度拆分输入列表后,打印结果列表。

示例

以下程序使用for循环和切片按给定自定义长度返回一个列表 –

# input string
inputString = 'hitutorialspoint'

# printing input string
print("Input string: ", inputString)

# input custom lengths list
customLengths = [4, 1, 6, 5]

# empty list for storing a resultant list
outputList = []

# initializing start index as 0
startIndex = 0

# travsering through each element of the custom lengths list
for l in customLengths:

   # appending the custom length string sliced from the

   # starting index to the custom length element
   outputList.append(inputString[startIndex: startIndex + l])

   # Increment the start Index value with the custom length element
   startIndex += l

# printing the resultant output list
print("Resultant list after splitting by custom lengths:\n", outputList)

输出

执行上面的程序,将生成以下输出-

Input string: hitutorialspoint
Resultant list after splitting by custom lengths:
['hitu', 't', 'orials', 'point']

<

方法2:使用列表推导式,join()和next()函数

列表推导式

当您希望基于现有列表的值构建新列表时,列表推导式提供了更短/简洁的语法。

next()函数

返回迭代器(如列表、字符串元组等)中的下一项。如果可迭代物已到达其末尾,您可以添加默认返回值以返回。

语法

next(iterable, default)

join()函数 − join()是Python中的一个字符串函数,用于将以字符串分隔符分隔的序列元素连接在一起。此功能连接序列元素以转换为字符串。

iter()函数

返回给定对象的迭代器。它创建一个一次迭代一个元素的对象。

语法

以下是函数的语法。

iter(object, sentinel)

参数

  • object − 指定要创建其迭代器(例如列表,元组,集合等)的对象。

  • sentinel − 它是指示序列结束的唯一值。

算法(步骤)

以下是要执行所需任务的算法/步骤 –

  • 使用 iter() 函数返回输入字符串的迭代器(通过字符串进行迭代)

  • 遍历customLengths列表的每个元素,并使用next()和join()函数连接字符串的下一个l(迭代值)个字符。

  • 打印由给定自定义长度拆分输入列表后产生的结果列表。

示例

以下程序使用列表推导式,join()和next()函数,通过给定的自定义长度拆分输入列表后返回一个列表 –

# input string
inputString = 'hitutorialspoint'

# printing input string
print("Input string: ", inputString)

# input custom lengths list
customLengths = [4, 1, 6, 5]

# Getting the string as an iter object to iterate through it
stringitr = iter(inputString)

# traversing through each element of customLengths list and

# Joining the next l characters of the string
outputList = ["".join(next(stringitr) for i in range(l)) for l in customLengths]

# printing the resultant output list
print("Resultant list after splitting by custom lengths:\n", outputList)

输出

在执行上述程序时,将生成以下输出 –

Input string: hitutorialspoint
Resultant list after splitting by custom lengths:
['hitu', 't', 'orials', 'point']

结论

在本文中,我们学习了如何使用2种不同的方法将给定的字符串拆分为不同的长度。此外,我们学习了如何使用iter()方法迭代字符串以及使用next()函数获取字符串的前n个字符。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程