将字符串转换为字符串列表

时间:2020-10-27 19:25:38

标签: python eval re

这是我的字符串:

s = '[111,222],333'

我想将其转换为2个项目(列表+字符串)的元组(或列表),但是不想将字符串转换为int ! 通过使用eval / ast.literal_eval,我得到了一个带整数的元组。 我想要的输出是:

(['111','222'],'333')

1 个答案:

答案 0 :(得分:0)

您可以这样做:

def convert_rec(x):
    if isinstance(x, list):
        return list(map(convert_rec, x))
    else:
        return str(x)

s = '[111,222],333'
s = eval(s)
res = convert_rec(s)
print(type(res[0][0]))

此打印为以下内容时的输出:

<class 'str'>