Python程式:將陣列轉換為字串,並使用指定字元連線元素


陣列是一種資料結構,它包含一系列相同資料型別的元素,每個元素都由索引標識。

 [2, 4, 0, 5, 8] 

Python中的陣列

Python本身沒有用於表示陣列的資料結構。相反,我們可以使用列表資料結構來表示陣列。在這裡,我們將列表用作陣列。

 [10, 4, 11, 76, 99]

在本文中,我們將編寫Python程式,將陣列轉換為字串,並使用指定字元連線元素。

輸入輸出場景

假設我們有一個包含整數值的輸入陣列。輸出將是一個字串,所有陣列元素都用指定字元連線起來。

Input array:
[1, 5, 3, 6]
Output:
1a5a3a6

這裡,陣列元素1、5、3、6用字元“a”連線。讓我們考慮另一個包含整數值的陣列。

Input array:
[1, 2, 3, 10, 20]
Output:
1P2P3P10P20

這裡,陣列元素1、2、3、10、20用字元“P”連線。我們將使用內建字串join()方法來使用指定字元連線陣列元素。

join()方法

join()方法從可迭代物件中獲取元素,並使用字串連線它們。它透過連線可迭代物件的全部元素並使用給定的字串分隔它們來返回一個字串。

語法

string.join(iterable) 

此函式接受一個可迭代物件(可以是列表、元組、字串、字典或集合)。

使用者自定義函式

我們將使用Python中的def關鍵字定義一個使用者自定義函式,以將陣列元素轉換為字串,並使用指定字元連線每個元素。

示例

在這個例子中,我們將定義一個toString函式來將陣列元素轉換為字串。在函式中,我們將宣告一個空列表,用於儲存已轉換的字串元素。我們將使用string.join()方法用指定的字元連線陣列元素。

def toString(L):
   r = []
   for i in L:
      r.append(str(i))
   return r

# creating array
arr = [1, 2, 3, 4, 5]
print ("The original array is: ", arr) 
print() 

specified_char = "a"
result = specified_char.join(toString(arr))
print ("The result is: ", result) 

輸出

The original array is:  [1, 2, 3, 4, 5]

The result is:  1a2a3a4a5

我們已成功地將陣列轉換為字串,並使用指定的字元(“a”)連線了元素。

使用map()函式

map()函式接受一個可迭代物件,並對可迭代物件的每個專案應用函式。它返回一個迭代器,該迭代器是應用函式的結果。

示例

在這裡,我們將使用map函式將陣列元素轉換為字串資料型別。

# creating array
arr = [101,102,103,104,105]

print ("The original array is: ", arr) 
print() 

specified_char = "a"
result = specified_char.join(list(map(str, arr)))
print ("The result is: ", result) 

輸出

The original array is:  [101, 102, 103, 104, 105]

The result is:  101a102a103a104a105

在這個例子中,我們使用map()和join()函式將陣列轉換為字串,並使用字元“a”連線了元素。

使用Lambda表示式

Lambda表示式用於建立匿名函式,也就是為函式定義一個未命名的物件。

示例

在這個例子中,我們將使用lambda建立匿名函式來將陣列元素轉換為字串。然後,使用join()方法連線已轉換的字串元素。

# creating array
arr = [101,102,103,104,105]
print ("The original array is: ", arr) 
print() 

specified_char = "a"
temp = lambda x : (str(i) for i in x)
result = specified_char.join(temp(arr))
print ("The result is: ", result) 

輸出

The original array is:  [101, 102, 103, 104, 105]

The result is:  101a102a103a104a105

變數temp包含lambda表示式,該表示式將陣列元素的資料型別轉換為字串資料型別。

示例

在這個例子中,我們將使用另一個包含浮點數的陣列。

# creating array
arr = [1.1,1.2,1.3,1.4,1.5]
print ("The original array is: ", arr) 
print() 
 
specified_char = "$"
temp = lambda x : (str(i) for i in x)
result = specified_char.join(temp(arr))
print ("The result is: ", result) 

輸出

The original array is:  [1.1, 1.2, 1.3, 1.4, 1.5]

The result is:  1.1$1.2$1.3$1.4$1.5

這些是將陣列轉換為字串並使用指定字元連線元素的幾種方法。

更新於:2023年5月29日

瀏覽量:216

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告