如何在python中重命名键值

时间:2012-03-01 01:52:10

标签: 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

它给了我这个:

["extra_charged = 200.0,", "extra_test1 = jknj,", "extra_test2 = jnjl,"]

我该怎么做才能删除'extra_'并输出如下:

["CHARGED = 200.0,", "TEST1 = jknj,", "TEST2 = jnjl,"]

任何人都可以对我的案子有所了解吗? 提前谢谢......

2 个答案:

答案 0 :(得分:6)

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

将一个data =行替换为:

data = str(val)[6:].upper() + ' = ' + key[val] + ','

应该有用。

答案 1 :(得分:2)

我找到了这个.replace()

我喜欢这个..

data = str(val).replace("extra_","").upper() + ' = ' + key[val] + ','