如何在python中重命名键值

gad*_*dss 1 python

我怎样才能在python中重命名键值?

我有这个代码:

t =  { u'last_name': [u'hbkjh'], u'no_of_nights': [u'1'], u'check_in': [u'2012-03-19'], u'no_of_adult': [u'', u'1'], u'csrfmiddlewaretoken': [u'05e5bdb542c3be7515b87e8160c347a0'], u'memo': [u'kjhbn'], u'totalcost': [u'1800.0'], u'product': [u'4'], u'exp_month': [u'1'], u'quantity': [u'2'], u'price': [u'900.0'], u'first_name': [u'sdhjb'], u'no_of_kid': [u'', u'0'], u'exp_year': [u'2012'], u'check_out': [u'2012-03-20'], u'email': [u'ebmalifer@agile.com.ph'], u'contact': [u'3546576'], u'extra_test1': [u'jknj'], u'extra_test2': [u'jnjl'], u'security_code': [u'3245'], u'extra_charged': [u'200.0']}
key = {str(k): str(v[0]) for k,v in t.iteritems() if k.startswith('extra_')}
array = []
for val in key:
    data = str(val) + ' = ' + key[val] + ','
    array.append(data)
print array
Run Code Online (Sandbox Code Playgroud)

它给了我这个:

["extra_charged = 200.0,", "extra_test1 = jknj,", "extra_test2 = jnjl,"]
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能删除它'extra_',它会使输出像这样:

["CHARGED = 200.0,", "TEST1 = jknj,", "TEST2 = jnjl,"]
Run Code Online (Sandbox Code Playgroud)

谁能对我的案子有所了解?提前致谢 ...

bil*_*dev 6

因此,数组索引可以去掉前6个字符,而upper()应该大写它.

用以下内容替换一个data =行:

data = str(val)[6:].upper() + ' = ' + key[val] + ','
Run Code Online (Sandbox Code Playgroud)

应该工作.