Python程式:將字串列表轉換為逗號分隔的字串


Python 借鑑了許多其他語言,包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk 和 Unix Shell,以及許多其他指令碼語言。

現在,我們知道這篇文章是關於將字串列表轉換為逗號分隔的字串。在深入研究之前,有必要詳細瞭解 Python 中的字串和列表。讓我們繼續討論這個主題,並詳細瞭解它們。首先是字串。

什麼是字串?

Python 字串是字元序列,這意味著它們是有序的字元集合。

"This is a string."
'This is also a string.'

Python 中的字串是表示 Unicode 字元的位元組陣列。Python 字串是“不可變的”,這意味著它們建立後無法更改。這意味著可以訪問其內部資料元素(字元),但不能為了輸入和輸出而替換、插入或刪除它們。字串是一種資料結構。資料結構是由其他幾塊資料組成的複合單元。字串是零個或多個字元的序列。

字串長度是它包含的字元數。Python 的len()函式用於返回字串的長度。

語法

len(str)

示例

len("WELCOME")

輸出

7

每個字元在字串中佔據一個位置。字串字元的位置從左邊的 0 開始編號,到右邊的字串長度減 1 結束。現在,讓我們繼續討論列表的主題。

什麼是列表?

列表是以特定順序排列的專案的集合。你可以建立一個包含字母表字母和 0-9 數字的列表。在 Python 中,方括號 ([]) 表示列表,列表中的各個元素用逗號分隔。

示例

bicycles = ['trek', 'Cannondale', 'redline', 'specialized']
print(bicycles)

輸出

['trek', 'Cannondale', 'redline', 'specialized']

列表是一個值,它按有序序列包含多個值。術語列表值指的是列表本身(它是一個值,可以像任何其他值一樣儲存在變數中或傳遞給函式),而不是列表值內部的值。列表值如下所示:['cat', 'bat', 'rat', 'elephant']。列表內部的值也稱為專案。專案用逗號分隔(即,它們是用逗號分隔的)。

在這裡,我們將瞭解如何將字串更改為逗號分隔的字串。重要的是要記住,給定的字串也可以是字串列表。

將 Python 列表轉換為逗號分隔的字串

當我們將字串列表轉換為逗號分隔的字串時,結果將是一個字串,其中列表的每個元素都用逗號分隔。

例如,如果我們將 [“my”, “name”, “is”, “Nikita”] 轉換為逗號分隔的字串,結果將是“my, name, is, Nikita”。

使用 join() 函式

join() 函式組合可迭代元件,並返回一個字串。必須指定將用於分隔字串元素的字元。

這裡我們應該建立一個逗號分隔的字串,所以我們將使用逗號作為分隔符。

示例

下面的程式建立一個列表,並使用join() 函式將它們連線成一個逗號分隔的字串。

List = ["Apple", "Banana", "Mango", "Orange"]
String = ', '.join(List)
print("List of String:")
print(List)
print("Comma Separated String:")
print(String)

輸出

List of String:
['Apple', 'Banana', 'Mango', 'Orange']
Comma Separated String:
Apple, Banana, Mango, Orange

上述方法僅適用於字串列表。

要處理整數列表或其他元素,我們可以使用列表推導和 str() 函式。我們可以使用 for 迴圈在一行中快速遍歷元素,然後使用 str() 函式將每個元素轉換為字串。

示例

在下面的程式中,建立了一個字串列表並將其儲存在變數 List 中。然後透過用逗號作為分隔符連線列表中的每個元素建立一個新的字串,並將其儲存在變數 String 中。

List = ['235', '3754', '856', '964']
String = ', '.join([str(i) for i in List])
print("List of String:")
print(List)
print("Comma Separated String:")
print(String)

輸出

List of String:
['235', '3754', '856', '964']
Comma Separated String:
235, 3754, 856, 964

使用map() 函式,我們還可以消除列表推導。透過將 str() 函式應用於列表的每個元素,可以使用 map() 函式將列表的所有元素轉換為字串。

示例

使用map() 函式,我們還可以消除列表推導。透過將 str() 函式應用於列表的每個元素,可以使用 map() 函式將列表的所有元素轉換為字串。

List = ['235', '3754', '856', '964']
String = ', '.join(map(str,List))
print("List of String:")
print(List)
print("Comma Separated String:")
print(String)

輸出

List of String:
['235', '3754', '856', '964']
Comma Separated String:
235, 3754, 856, 964

使用 StringIO 模組

StringIO 物件類似於檔案物件,但它使用記憶體中的文字。可以透過使用 StringIO 模組直接在 Python 2 中匯入它。它在 Python 3 中儲存在 io 模組中。

示例

要將列表作為逗號分隔的行寫入 StringIO 物件中的 CSV 檔案,我們可以使用csv.writerow() 函式。為此,我們必須首先建立一個 csv.writer 物件。然後,我們可以使用getvalue() 函式將此物件的內容儲存在一個字串中。

import io
import csv
List = ['235', '3754', '856', '964']
String_io = io.StringIO()
w = csv.writer(String_io)
w.writerow(List)
String = String_io.getvalue()
print("List of String:")
print(List)
print("Comma Separated String:")
print(String)

輸出

List of String:
['235', '3754', '856', '964']
Comma Separated String:
235,3754,856,964

我們還可以將解包運算子與 print() 函式一起使用。解包運算子 * 將可迭代物件的全部元素解包,並透過 print() 函式中的 file 引數將其儲存到 StringIO 物件中。

示例

建立一個值為 8、9、4 和 1 的列表。然後建立一個 StringIO 物件 String_io,允許將字串視為檔案。列表作為 StringIO 物件列印,file=String_io,sep=',' 和 end=''。這將用逗號分隔列表中的每個元素,並且不會在行尾新增換行符或字元。string_io 中儲存的字串透過 getvalue() 方法檢索,並存儲在名為“String”的變數中。

import io
List = [8,9,4,1]
String_io = io.StringIO()
print(*List, file=String_io, sep=',', end='')
String = String_io.getvalue()
print("List of String:")
print(List)
print("Comma Separated String:")
print(String)

輸出

List of String:
[8, 9, 4, 1]
Comma Separated String:
8,9,4,1

結論

在本文中,我們討論了將字串列表轉換為逗號分隔字串的不同方法。

更新於:2023年4月21日

325 次檢視

啟動你的職業生涯

透過完成課程獲得認證

開始
廣告