我怎样才能有更好的方法? josn:
myInput="My name is {{ name }}!"
我想要结果。
home = '{u'1p': u'2', u'2p': u'0', u'rs': u'2', u'3p': u'0', u'penalty': u'0', u'fe': u'2', u'ord': u'2', u'ot':u'0'}'
我试过了。
home = '1p: 2, 2p: 0, rs: 2, 3p: 0, penalty: 0, fe: 2, ord: 2, ot:0'
答案 0 :(得分:2)
import json
d = json.loads(home)
print(','.join('%s: %s' % tup for tup in d.items()))
答案 1 :(得分:0)
您可以使用ast.literal_eval()
res = ''.join('{}: {}, '.format(k, v) for k, v in ast.literal_eval(home).items())[:-2]
<强>输出:强>
>>> res
'1p: 2, 2p: 0, rs: 2, 3p: 0, penalty: 0, fe: 2, ord: 2, ot: 0'
答案 2 :(得分:-1)
所以,一些字符串魔术的时间:
home = "{u'1p': u'2', u'2p': u'0', u'rs': u'2', u'3p': u'0', u'penalty': u'0', u'fe': u'2', u'ord': u'2', u'ot':u'0'}"
import ast
home = ''.join(['{}: {}, '.format(k,v) for k,v in ast.literal_eval(home).items()]).strip(', ')
这将使您home = '1p: 2, 2p: 0, rs: 2, 3p: 0, penalty: 0, fe: 2, ord: 2, ot: 0'
但实质上,这是一个单线解决方法,用于完成与替换相同的操作。它将字符串home
转换为字典以在理解中使用。最后,字典被字符串替换。我没有看到用于去除json中雕刻的一块结构的用途,除非是用于印刷目的,这可以在字典理解中更有效地完成。
答案 3 :(得分:-1)
你可以使用正则表达式
home = sport.get("home")
home = re.sub(r'[{}\'u]+','', home)