如何将如下所示的字符串变量拆分为各个组? var.split(",")
也拆分括号内的那些。
var = "(5, 'kghjsg'), (6, 'kghjsghk'), (7, 'jksgjsg'), (8, 'ksgshgk'), (9, 'hjsdhg')"
期望的结果:
[(5, 'kghjsg'),
(6, 'kghjsghk'),
..
]
最佳答案
使用ast.literal_eval
:
>>> from ast import literal_eval
>>> var = "(5, 'kghjsg'), (6, 'kghjsghk'), (7, 'jksgjsg'), (8, 'ksgshgk'), (9, 'hjsdhg')"
>>> literal_eval(var)
((5, 'kghjsg'), (6, 'kghjsghk'), (7, 'jksgjsg'), (8, 'ksgshgk'), (9, 'hjsdhg'))
来自文档:
Safely evaluate an expression node or a Unicode or Latin-1 encoded string containing a Python expression. The string or node provided may only consist of the following Python literal structures:
strings
,numbers
,tuples
,lists
,dicts
,booleans
, andNone
.
关于python - 在具有多个拆分器的python中拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21124237/