Python字典表示列表

时间:2013-09-01 18:47:11

标签: python

我有一个字典的python列表。

 [{u'c_user': u'100001724251788'},
 {u'datr': u'AUojUqoBUYA2wj4j04GT5XvX'},
 {u'lu': u'RitwQJMNRJ8siUh_9eIj4SMw'},
 {u's': u'Aa7ebY1RvmeilCX8.BSI0od'},
 {u'xs': u'62%3AjNm_3ySkegf7cg%3A2%3A1378044445%3A10945'},
 {u'fr': u'0aU8cfDygWXo1ETQA.AWV9BQIzKARYURFpuxUdXLoXcl8.BSI0od.j_.FIj.AWXjyq2t'}
 ]

我想将其转换为这种格式。

<cookies>.facebook.com:c_user:121004739910369<cookies>.facebook.com:datr:37unUBLPm65_tx_Bw1abJlMs<cookies>.facebook.com:fr:0hxSSm1eLzrtkN4AA.AWUjxn2WujCDmYEexTPNUdlhpuw.BQp7wW.uk.AAA.AWUPRZl0<cookies>.facebook.com:lu:ggan5YObFPPgWGf_wt4INraQ<cookies>.facebook.com:s:Aa58EZ-VAVc8GtmK.BSH5bk<cookies>.facebook.com:xs:1%3AkqDOXnuUt-6jGg%3A0%3A1377801956%3A16993<cookies>

注意:在这个例子中,key的值是diff。但它们在实际实现中是相同的。

我是python的新手。对不起,如果我的问题听起来很愚蠢。

2 个答案:

答案 0 :(得分:3)

L成为您的清单。然后:

out = ['<cookies>.facebook.com:%s:%s' % (k,v) 
       for d in L for k,v in d.iteritems()]
print ''.join(out) + '<cookies>'

答案 1 :(得分:0)

我认为如果你有可能定义一本字典,你会发现有兴趣知道

d = {u'c_user': u'100001724251788',
     u'datr': u'AUojUqoBUYA2wj4j04GT5XvX',
     u'lu': u'RitwQJMNRJ8siUh_9eIj4SMw',
     u's': u'Aa7ebY1RvmeilCX8.BSI0od',
     u'xs': u'62%3AjNm_3ySkegf7cg%3A2%3A1378044445%3A10945',
     u'fr': u'0aU8cfDygWXo1ETQA.AWV9BQIzKARYURFpuxUdXLoXcl8.BSI0od.j_.FIj.AWXjyq2t'}

而不是您的词典列表,
你可以简单地写一下:

pat = (u'<cookies>.facebook.com:c_user:{c_user}'
       '<cookies>.facebook.com:datr:{datr}'
       '<cookies>.facebook.com:fr:{fr}'
       '<cookies>.facebook.com:lu:{lu}'
       '<cookies>.facebook.com:s:{s}'
       '<cookies>.facebook.com:xs:{xs}'
       '<cookies>')

print pat.format(**d)

给出相同的结果