如何将字典转换为特定格式

时间:2018-09-06 17:45:15

标签: python string

我的输出格式如下:

(u'Columns', [{u'Type': u'string', u'Name': u'recon_c+c'}, 
              {u'Type': u'string', u'Name': u'data'}, 
              {u'Type': u'string', u'Name': u'nui'}, 
              {u'Type': u'bigint', u'Name': u'typ'}])

我想将其转换为以下格式:

recon_c+c string,
data string,
nui string,
typ bigint

如何使用python做到这一点?因为我正在尝试通用解决方案,所以如果我能得到更多的键:值,那么代码也可以处理。

请让我知道你们是否有解决方案。

4 个答案:

答案 0 :(得分:1)

您的逗号要求会使事情稍微复杂一些,但是您可以将print及其可选的sep参数使用。

T = (u'Columns', [{u'Type': u'string', u'Name': u'recon_c+c'}, 
                  {u'Type': u'string', u'Name': u'data'}, 
                  {u'Type': u'string', u'Name': u'nui'}, 
                  {u'Type': u'bigint', u'Name': u'typ'}])

print(*(' '.join((d['Name'], d['Type'])) for d in T[1]), sep=',\n')

要注意的重点是您有一个tuple,并且元组的第二个值是字典列表。这是您需要迭代的。

结果

recon_c+c string,
data string,
nui string,
typ bigint

答案 1 :(得分:1)

您可以使用简单的for循环:

#!/usr/bin/env python

l = (u'Columns', [{u'Type': u'string', u'Name': u'recon_c+c'}, 
{u'Type': u'string', u'Name': u'data'}, 
{u'Type': u'string', u'Name': u'nui'}, 
{u'Type': u'bigint', u'Name': u'typ'}])

print ",\n".join(['{} {}'.format(d['Name'], d['Type']) for d in l[-1]])

输出:

recon_c+c string,
data string,
nui string,
typ bigint

答案 2 :(得分:0)

您可以在一列中使用列表推导来做到这一点:

myTuple = (u'Columns', [{u'Type': u'string', u'Name': u'recon_c+c'}, 
              {u'Type': u'string', u'Name': u'data'}, 
              {u'Type': u'string', u'Name': u'nui'}, 
              {u'Type': u'bigint', u'Name': u'typ'}])

myList  =  [ print (x["Name"]+" " + x["Type"]) for x in myTuple[1] ]

输出:

recon_c+c string
data string
nui string
typ bigint

当然,您可以根据需要设置打印格式。

答案 3 :(得分:0)

SocketAsyncEventArgs

我们可以将字典视为 1 information = ( 2 u'Columns', 3 [ 4 {u'Type': u'string', u'Name': u'recon_c+c'}, 5 {u'Type': u'string', u'Name': u'data'}, 6 {u'Type': u'string', u'Name': u'nui'}, 7 {u'Type': u'bigint', u'Name': u'typ'} 8 ] 9 ) 10 11 12 [print(i.get('Name'), i.get('Type')) for i in information[1]] ,然后可以循环浏览此列表中的每个字典并使用information[1]

使用循环理解我们可以编写:

相关问题