2024-10-01 22:36:53 发布
网友
我有一个unicode数组,我想把它转换成数组。 给定输入格式和输出格式如下:
p = u'(abcd, pqrs, fghj, mjki, loki)'
我希望输出如下:
output = ('abcd', 'pqrs', 'fghj', 'mjki', 'loki')
非常肮脏的方式,但是:
>>> tuple(u'(abcd, pqrs, fghj, mjki, loki)'[1:-1].split(', ')) ('abcd', 'pqrs', 'fghj', 'mjki', 'loki') p = tuple(p[1:-1].split(', '))
所以,我认为你可以在开始工作之前改进你的输入数据。你知道吗
由于它看起来几乎像许多可用的YAML语法之一,我建议将其修补为正确的YAML,然后使用适当的YAML解析器:
import yaml p = u'(abcd, pqrs, fghj, mjki, loki)' print(yaml.load('[' + p[1:-1] + ']'))
或者
print(yaml.load(p.replace('(', '[').replace(')', ']')))
这样,嵌套结构(如果出现)也会被正确解析。你知道吗
为了获得更好的性能(如果结构很大),您甚至可以考虑这样:p.translate({40:91, 41:93})将圆括号转换为方括号。你知道吗
p.translate({40:91, 41:93})
p = u'(abcd, pqrs, fghj, mjki, loki)' output = [x.strip() for x in p.strip("(").strip(")").split(",")] print(output)
但这将保留unicode:
[u'abcd', u'pqrs', u'fghj', u'mjki', u'loki']
非常肮脏的方式,但是:
所以,我认为你可以在开始工作之前改进你的输入数据。你知道吗
由于它看起来几乎像许多可用的YAML语法之一,我建议将其修补为正确的YAML,然后使用适当的YAML解析器:
或者
这样,嵌套结构(如果出现)也会被正确解析。你知道吗
为了获得更好的性能(如果结构很大),您甚至可以考虑这样:
p.translate({40:91, 41:93})
将圆括号转换为方括号。你知道吗但这将保留unicode:
相关问题 更多 >
编程相关推荐