为了账号安全,请及时绑定邮箱和手机立即绑定

Python字符串列表转换

Python字符串列表转换

MM们 2021-03-28 12:15:19
我有string这样的sample="[2, 6, 10, 14, 18, 22, 26, 30, 34, 38, 42, 46, 50]"我如何将其转换为list?我期望输出像这样output=[2, 6, 10, 14, 18, 22, 26, 30, 34, 38, 42, 46, 50]我知道split()功能,但在这种情况下,如果我使用sample.split(',')它将使用[和]符号。有什么简单的方法吗?
查看完整描述

2 回答

?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

您可以在python中使用标准的字符串方法:

output = sample.lstrip('[').rstrip(']').split(', ')

如果使用.split(',')代替,.split(',')您将获得空格和值!

您可以使用以下方法将所有值转换为int:

output = map(lambda x: int(x), output)

或将您的字符串加载为json:

import json
output = json.loads(sample)

巧合的是,json列表与python列表具有相同的符号!:-)


查看完整回答
反对 回复 2021-04-06
?
Qyouu

TA贡献1786条经验 获得超11个赞

如果要处理类似Python的类型(例如元组),则可以使用ast.literal_eval:


from ast import literal_eval


sample="[2, 6, 10, 14, 18, 22, 26, 30, 34, 38, 42, 46, 50]"


sample_list = literal_eval(sample)

print type(sample_list), type(sample_list[0]), sample_list

# <type 'list'> <type 'int'> [2, 6, 10, 14, 18, 22, 26, 30, 34, 38, 42, 46, 50]


查看完整回答
反对 回复 2021-04-06
  • 2 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信