将列表转换成逗号分隔并在python中添加引号

时间:2018-07-30 14:40:24

标签: python list pandas

我有:

val = '[12 13 14 16 17 18]'

我想要拥有:

['12','13','14','16','17','18']

我已经完成

x = val.split(' ')
y = (" , ").join(x)

结果是

'[12 , 13 , 14 , 16 , 17 , 18 ]'

但引号也不是准确的

在Python中执行此操作的最佳方法是什么?

6 个答案:

答案 0 :(得分:2)

您可以使用

val.strip('[]').split()

答案 1 :(得分:1)

只有您可以处理In [14]: list_of_old_lists = [['A'], ['B']] ...: new_list = [['X'] + old_list for old_list in list_of_old_lists] ...: print(list_of_old_lists) ...: print(new_list) ...: print(new_list == list_of_old_lists) ...: [['A'], ['B']] [['X', 'A'], ['X', 'B']] False

regex

答案 2 :(得分:1)

which

答案 3 :(得分:0)

您可以使用此:

val = '[12 13 14 16 17 18]'
val = val[1:-1].split()
print(val)

输出:

['12', '13', '14', '16', '17', '18']

答案 4 :(得分:0)

如果您真的需要戴上指套

val = '[12 13 14 16 17 18]'
val = val.replace('[','')
val = val.replace(']','')
val = val.split(' ')

答案 5 :(得分:0)

用逗号替换空格后,您可以使用ast.literal_eval

from ast import literal_eval

val = '[12 13 14 16 17 18]'
res = list(map(str, literal_eval(val.replace(' ', ','))))

print(res, type(res))

['12', '13', '14', '16', '17', '18'] <class 'list'>