Python程序:将字符数组转换为字符串


在Python中,我们有一些内置函数,如join()、map()、reduce()和len(),可以用来将字符数组转换为字符串。字符数组是通过将字符串中的每个字符拆分来定义的。Python有一个预定义的join()方法来连接所有字符以构成字符串。另一种解决该程序的方法是使用列表推导式和join()方法。

让我们来看一个例子来理解如何将字符数组转换为字符串:

  • 字符是‘p’、‘e’和‘n’:字符串变为pen

  • 字符是‘S’、‘A’、‘N’、‘D’、‘B’、‘O’、‘X’:字符串变为SANDBOX

语法

join()

join()是Python中一个预定义的方法,用于将所有字符连接在一起形成字符串。

len()

len()是Python中的一个内置方法,可用于确定总长度。

map()

Python的map()方法可以将函数应用于可迭代对象(如列表或元组)中的每个项目,然后返回一个包含结果的新可迭代对象。

reduce()

这是Python中的一个内置函数,它遵循名为functools的模块,并对元素列表执行特定操作。

示例1

在这个程序中,我们将首先将输入的字符列表存储在变量arr_char中。然后初始化变量‘changer’来存储字符串,通过定义一个使用join()方法创建字符串的空字符串。最后,打印结果。

arr_char=['T','u', 't', 'o', 'r','i', 'a', 'l','s', 'p', 'o', 'i', 'n', 't']
changer=''.join(arr_char)
print("The string is", changer)

输出

The string is Tutorialspoint

示例2

在下面的例子中,我们将首先将输入的字符数组列表存储在变量‘ary_char’中。创建一个空字符串变量‘c_str’,稍后将所有字符存储到该字符串中。然后使用for循环迭代变量‘ary_char’到变量‘char’中,将所有字符加在一起。最后,使用变量‘c_str’打印变量。

#convert character array into a string
ary_char = ['P','E','N','C','I','L']
c_str = ""
for char in ary_char:
 c_str += char
print("The string is",c_str)

输出

The string is PENCIL

示例3

在下面的示例中,这段代码中的while循环将字符数组转换为字符串。它迭代数组中的每个字符,然后将字符添加到最初为空的字符串中。循环完成后,打印结果字符串。

char_arr = ['B', 'l', 'a', 'c', 'k']
emp_str = ""
i = 0
while i < len(char_arr):
   emp_str += char_arr[i]
   i += 1
print(emp_str)

输出

Black

示例4

在下面的示例中,这段代码使用map函数和字符串的join方法将字符数组转换为字符串。它首先创建一个字符数组,然后使用map函数将str函数应用于数组的每个元素。然后,将字符串的可迭代对象传递给join方法,该方法将所有字符串连接在一起以创建一个单个字符串。然后打印结果字符串。

char_arr = ['S', 'c', 'h', 'o', 'l','a','r']
my_str = ''.join(map(str, char_arr))
print("The array of character into string:", my_str)

输出

The array of character into string: Scholar

示例5

pip install funtools

将上述命令安装到你的Python系统中

在下面的例子中,这段代码定义了一个函数char_to_str,它接受一个字符列表作为输入并返回一个字符串。当函数遍历列表s的元素时,每个字符都将添加到最初为空的字符串emp_str中。然后它返回从字符数组连接而成的字符串。

import functools
def char_to_str(s):
   emp_str = ""
   for x in s:
      emp_str += x
   return emp_str
arr_char = ['T', 'u', 't', 'o', 'r', 'i', 'a', 'l', 's', 'p', 'o', 'i', 'n','t']
print(char_to_str(arr_char))

输出

Tutorialspoint

请注意,Python中的functools模块提供了一些用于与其他函数以及高阶函数交互的工具。可以将其他函数作为参数或将它们作为结果返回的函数被称为高阶函数。此模块提供了一些函数,例如reduce()、chache()和partial()。

示例6

在下面的例子中,程序首先导入名为functools的模块,该模块提供了名为reduce()的内置方法。然后定义一个函数char_to_str,它接受一个字符列表s作为输入并返回一个字符串。该函数使用functools模块中的reduce()函数,将lambda函数从左到右应用于列表s的每个元素。lambda函数连接两个输入x和y。通过这样做,字符列表被组合成一个表示整个字符列表的单个值。

import functools
def char_to_str(s):
   return functools.reduce(lambda x, y: x + y, s)
arr_char = ['T', 'u', 't', 'o', 'r', 'i', 'a', 'l', 's', 'p', 'o', 'i', 'n','t']
print(char_to_str(arr_char))

输出

Tutorialspoint

结论

我们通过将字符数组转换为字符串,理解了这两个示例之间的区别。在示例1中,使用预定义方法join()将所有字符连接在一起,而在示例2中,使用for循环迭代每个字符并将它们存储到空变量中以打印字符串。

更新于:2023年6月1日

8K+浏览量

开启你的职业生涯

完成课程获得认证

开始学习
广告