将列表的字符串表示形式转换为Python中的列表

随着python处理各种数据类型,我们将遇到一种情况,其中列表将以字符串形式出现。在本文中,我们将看到如何将字符串转换为列表。

带和分裂

我们首先应用strip方法删除方括号,然后应用split函数。以逗号为参数的split函数从字符串创建列表。

示例

stringA = "[Mon, 2, Tue, 5,]"
# Given string
print("Given string", stringA)
print(type(stringA))
# String to list
res = stringA.strip('][').split(', ')
# Result and its type
print("final list", res)
print(type(res))

输出结果

运行上面的代码给我们以下结果-

Given string [Mon, 2, Tue, 5,]
final list ['Mon', '2', 'Tue', '5,']

使用json.loads

json模块可以直接从字符串转换为列表。我们只是通过将字符串作为参数来应用函数。我们在这里只能考虑数字元素。

示例

import json
stringA = "[21,42, 15]"
# Given string
print("Given string", stringA)
print(type(stringA))
# String to list
res = json.loads(stringA)
# Result and its type
print("final list", res)
print(type(res))

输出结果

运行上面的代码给我们以下结果-

Given string [21,42, 15]
final list [21, 42, 15]

使用ast.literal_eval

ast模块为我们提供了literal_eval,它可以直接将字符串转换为列表。我们只是将字符串作为参数提供给literal_eval方法。我们在这里只能考虑数字元素。

示例

import ast
stringA = "[21,42, 15]"
# Given string
print("Given string", stringA)
print(type(stringA))
# String to list
res = ast.literal_eval(stringA)
# Result and its type
print("final list", res)
print(type(res))

输出结果

运行上面的代码给我们以下结果-

Given string [21,42, 15]
final list [21, 42, 15]