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

Manav Narula 2023年1月30日
  1. 在 Python 中使用 join() 函式將列表轉換為逗號分隔的字串
  2. 在 Python 中使用 StringIO 模組將列表轉換為逗號分隔的字串
在 Python 中將列表轉換為逗號分隔的字串

我們可以使用一個列表以一個通用名稱儲存不同的元素。字串是字元的集合。

在本教程中,我們將列表轉換為逗號分隔的字串。

在 Python 中使用 join() 函式將列表轉換為逗號分隔的字串

join() 函式組合了可迭代物件的元素並返回一個字串。我們需要指定將用作字串中元素分隔符的字元。

要建立逗號分隔的字串,我們將使用逗號作為分隔符。

請參閱下面的程式碼。

lst = ["c", "e", "a", "q"]
s = ",".join(lst)
print(s)

輸出:

c,e,a,q

上述方法僅限於包含字串的列表。

我們可以使用列表推導和 str() 函式來處理包含整數或其他元素的列表。使用列表推導式,我們可以使用 for 迴圈在一行中輕鬆迭代元素,並使用 str() 函式將每個元素轉換為字串。

我們在下面的程式碼中實現了這一點。

lst = [8, 9, 4, 1]
s = ",".join([str(i) for i in lst])
print(s)

輸出:

8,9,4,1

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

例如,

lst = [8, 9, 4, 1]
s = ",".join(map(str, lst))
print(s)

輸出:

8,9,4,1

在 Python 中使用 StringIO 模組將列表轉換為逗號分隔的字串

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

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

請參閱以下程式碼。

import io
import csv

lst = [8, 9, 4, 1]
s_io = io.StringIO()
writer = csv.writer(s_io)
writer.writerow(lst)
s = s_io.getvalue()
print(s)

輸出:

8,9,4,1

我們還可以將 print() 函式與 unpack 運算子一起使用。解包操作符 * 解包一個可迭代物件的所有元素,並使用 print() 函式中的 file 引數將其儲存在 StringIO 物件中。

請參閱下面的程式碼。

import io

lst = [8, 9, 4, 1]
s_io = io.StringIO()
print(*lst, file=s_io, sep=",", end="")
s = s_io.getvalue()
print(s)

輸出:

8,9,4,1
作者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

相關文章 - Python List

相關文章 - Python String