如何在python中清除dict值(u';变量';)?
我有以下代码:如何在python中清除dict值(u';变量';)?,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
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']}
{k: v for k,v in t.iteritems() if k.startswith('extra_')}
它为我提供了以下输出:
{u'extra_charged': [u'200.0'], u'extra_test1': [u'jknj'], u'extra_test2': [u'jnjl']}
我是否可以清理输出或移除第一个u、[,]、
就这样
{'extra_charged': '200.0', 'extra_test1': 'jknj', 'extra_test2': 'jnjl'}
用
[0]
抓住列表中的第一项:
>>> {k: v[0] for k,v in t.iteritems() if k.startswith('extra_')}
{u'extra_charged': u'200.0', u'extra_test1': u'jknj', u'extra_test2': u'jnjl'}
u
仅表示该字符串是unicode字符串。您可以将其转换为ascii,但我不确定您为什么要这样做。用[0]
抓住列表中的第一项:
>>> {k: v[0] for k,v in t.iteritems() if k.startswith('extra_')}
{u'extra_charged': u'200.0', u'extra_test1': u'jknj', u'extra_test2': u'jnjl'}
u
仅表示该字符串是unicode字符串。您可以将其转换为ascii,但我不确定您为什么要这样做。'u'表示其unicode,而不是字符串
“[]”表示它是一个列表
“,”表示列表中的单独项目
这正是python显示它的方式。如果需要字符串,则必须访问列表。'u'表示其unicode,而不是字符串中的unicode
>>> {str(k): str(v[0]) for k,v in t.iteritems() if k.startswith('extra_')}
{'extra_charged': '200.0', 'extra_test1': 'jknj', 'extra_test2': 'jnjl'}
“[]”表示它是一个列表
“,”表示列表中的单独项目
这正是python显示它的方式。如果你想要字符串,你必须访问列表。u表示unicode,完全正确,django喜欢unicode,如果你想输出json,请使用json lib。u表示unicode,完全正确,django喜欢unicode,如果你想输出json,请使用json lib。很抱歉打扰你,我尝试了这段代码,但它只给出了
{}
结果是。“cast”之前我有{u'myprogran':{u'debugging':{u'@level:0}…
。有什么提示吗?很抱歉打扰你,我尝试了这段代码,但它只给了我{}
结果。在“cast”之前我有{u'myprogran':{u'debugging':{u'@level 0}…
。有什么提示吗?
>>> {str(k): str(v[0]) for k,v in t.iteritems() if k.startswith('extra_')}
{'extra_charged': '200.0', 'extra_test1': 'jknj', 'extra_test2': 'jnjl'}