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+瀏覽量

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.