如何在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
它给了我这个:
["extra_charged = 200.0,", "extra_test1 = jknj,", "extra_test2 = jnjl,"]
我该怎么做才能删除'extra_'
并输出如下:
["CHARGED = 200.0,", "TEST1 = jknj,", "TEST2 = jnjl,"]
任何人都可以对我的案子有所了解吗? 提前谢谢......
答案 0 :(得分:6)
因此,数组索引可以去掉前6个字符,而upper()应该大写它。
将一个data =行替换为:
data = str(val)[6:].upper() + ' = ' + key[val] + ','
应该有用。
答案 1 :(得分:2)
我找到了这个.replace()
我喜欢这个..
data = str(val).replace("extra_","").upper() + ' = ' + key[val] + ','