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


由于Python处理各种数据类型,我们会遇到列表以字符串形式出现的情况。在本文中,我们将了解如何将字符串转换为列表。

使用strip和split

我们首先应用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]

更新于:2020年5月20日

14K+浏览量

开启你的职业生涯

完成课程获得认证

开始学习
广告