如何在 Python 中将字符串转换为列表

Azaz Farooq 2023年1月30日
  1. 在 Python 中使用 list() 函数将字符串转换为列表
  2. 在 Python 中使用 split() 方法将字符串转换为列表
  3. 在 Python 中使用 eval() 函数将字符串转换为列表
  4. 在 Python 中使用 ast 方法将字符串转换为列表
如何在 Python 中将字符串转换为列表

Python 列表是可变的;所以它的元素可以在程序执行过程中随时被覆盖、修改和删除。字符串是用单引号或双引号括起来的字符组合,它是不可变的。

在本文中,我们将演示在 Python 中把字符串转换为列表的不同方法。

在 Python 中使用 list() 函数将字符串转换为列表

list() 函数在 Python 中把字符串转换为一个列表。

让我们以下面的代码为例。

test_str = "Python"
list(test_str)

输出:

['P', 'y', 't', 'h', 'o', 'n']

list() 函数接收一个字符串作为参数,并将其转换为一个列表。字符串中的每个字符都成为列表中的单个元素。

在 Python 中使用 split() 方法将字符串转换为列表

让我们取一个以逗号分隔的字符串值。

string = "x,y,z"

现在,我们将字符串值分割成列表元素。

完整的示例代码如下。

string = "x,y,z"
output = string.split(",")
output

输出:

['x', 'y', 'z']

上面的例子将字符串在给定的定界符 , 处分割成一个列表。如果没有给定定界符,则使用白色空间作为默认值。

在 Python 中使用 eval() 函数将字符串转换为列表

这个方法只有在字符串安全的时候才会将字符串转换为一个列表,这意味着 eval() 函数中的字符串被解析并确定为一个 Python 表达式。如果不能作为 Python 表达式进行评估,就会产生一个错误。它不是一个 pythonic 方法。我们可以使用 split()ast 方法来代替。

让我们为这个方法取一个指定的字符串。

string = "['xxx','yyy','zzz']"

完整的示例代码如下。

string = "['xxx','yyy','zzz']"
output = eval(string)
output

输出:

['xxx', 'yyy', 'zzz']

在 Python 中使用 ast 方法将字符串转换为列表

这个方法将使用 ast 库(抽象语法树)。通过这个库,我们将使用 eval() 函数将一个字符串转换为一个列表。

完整的示例代码如下。

import ast

string = "['xxx','yyy','zzz']"
output = ast.literal_eval(string)
output

输出:

['xxx', 'yyy', 'zzz']

相关文章 - Python List

相关文章 - Python String