在 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