我有:
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中,最好的方法是什么?
你可以使用它
val.strip('[]').split()
只有当你能够处理 regex
时:
import re
val = '[12 13 14 16 17 18]'
print(re.findall(r'\d+', val))
# ['12', '13', '14', '16', '17', '18']
>>> val
'[12 13 14 16 17 18]'
>>> val.strip("[]").split(" ")
['12', '13', '14', '16', '17', '18']
strip('[]')
- rafaelcval = '[12 13 14 16 17 18]'
val = val[1:-1].split()
print(val)
输出:
['12', '13', '14', '16', '17', '18']
val = '[12 13 14 16 17 18]'
val = val.replace('[','')
val = val.replace(']','')
val = val.split(' ')
在将空格替换为逗号后,您可以使用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'>
re.findall(r'\d+', val)
- user3483203val.strip('[]').split()
但我会质疑您如何获得原始输入。 - Chris_Randsval = val[1:-1].split()
- Vasilis G.