Python 列表转换为字符串

在 Python 中,如果想要将一个列表转换为一个字符串,常用的有以下 2 种方式。

  • 使用 join() 方法。
  • 使用 str() 函数。

提示: 将列表转字符串主要是使用 join() 方法,而将字符串转列表主要是使用 list() 函数。

使用 join() 方法

join() 是 Python 字符串的一个方法,它将可迭代对象(如列表)的所有元素使用 “指定分隔符” 来连接成一个字符串,然后返回连接后的结果。

语法:

'分隔符'.join(iterable)

说明:

join() 方法接收单个参数。

  • iterable(必选):是一个可迭代对象。

示例 1:join() 的分隔符为空

languages = ['Python', 'Java', 'C++', 'Go', 'Rust']
result = ''.join(languages)

print(result)
print(type(result))

运行结果如下。

PythonJavaC++GoRust
<class 'str'>

示例 2:join() 使用指定分隔符

languages = ['Python', 'Java', 'C++', 'Go', 'Rust']
result = '*'.join(languages)
print(result)

运行结果如下。

Python*Java*C++*Go*Rust

示例 3:列表里有数字

nums = [1, 2, 3, 4, 5]
result = '-'.join(nums)
print(result)

运行结果如下。

(报错)TypeError: sequence item 0: expected str instance, int found

分析:

join() 方法有一个极其严格的硬性规定:列表中的所有元素必须都是字符串(str)类型! 如果你的列表中包含了整数(int)或浮点数(float),直接使用 join() 会导致程序报错(TypeError)。

我们可以结合前面学过的 “列表推导式”,或者使用 map() 函数,先将列表里的所有数字统统转换为字符串,然后再使用 join() 进行拼接:

# 正确写法 1:使用列表推导式(强烈推荐)
nums = [1, 2, 3, 4, 5]
result = '-'.join([str(i) for i in nums])
print(result)

# 正确写法 2:使用 map() 函数
nums = [1, 2, 3, 4, 5]
result = '-'.join(map(str, nums))
print(result)

使用 str() 函数

str() 是 Python 的一个内置函数,它用于返回给定对象的字符串表示形式。换一句话来说就是,str() 函数可以将一个列表转换为一个字符串。

语法:

str(object)

说明:

str() 函数接收单个参数。

  • object(可选):是任意对象(Python 一切皆对象)。如果未提供 object,则 str() 返回空字符串。

示例 4:str() 将列表转换为字符串

colors = ['red', 'green', 'blue']
print(str(colors))      # "['red', 'green', 'blue']"

运行结果如下。

['red', 'green', 'blue']
给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号