我们可以使用一个列表以一个通用名称存储不同的元素。字符串是字符的集合。
在本教程中,我们将列表转换为逗号分隔的字符串。
在 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