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循环迭代每个字符,并将其存储到空变量中以打印出字符串。