将python字典转换为字符串

2024-05-29 03:44:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python字典的列表。如何从

{'foo1':['bar1','bar2'] , 'foo2':['bar3']}
{'foo3':['bar4','bar5','bar6'] , 'foo4':['bar7','bar8','bar9']}
.
.
.
{'foo5':['bar10'] , 'foo6':['bar11','bar12']}
{'foo7':['bar13','bar14'] , 'foo8':['bar15','bar16','bar17','bar18']}

^{pr2}$

需要将此输出到icinga字典的文件中。在


Tags: 列表字典foo1foo2bar3bar2bar1foo3
2条回答

您可以迭代键和值,然后用,将它们连接起来,并用{}包围它们:

def icinga_form(d):
    items = ', '.join(
        '{} = {}'.format(key, value) for key, value in d.items()
    )
    return '{%s}' % (items,)

然后将其应用到带有地图的每个项目:

^{pr2}$
{foo1 = ['bar1', 'bar2'], foo2 = ['bar3']}
{foo3 = ['bar4', 'bar5', 'bar6'], foo4 = ['bar7', 'bar8', 'bar9']}
...
{foo5 = ['bar10'], foo6 = ['bar11', 'bar12']}
{foo7 = ['bar13', 'bar14'], foo8 = ['bar15', 'bar16', 'bar17', 'bar18']}

如果你想让它成为那根弦(我不知道为什么),这应该可以:

def dict2str(dict):
    mystr = ''
    for item in dict:
        if mystr == '':
            mystr = item + ' = ' + str(dict[item])
        else:
            mystr = mystr + ' , ' + item + ' = ' + str(dict[item])
    mystr = "{" + mystr + "}"
    return(mystr)

但请记住,字典不是按顺序排列的,因此在返回精确的模式时可能会遇到问题。在

相关问题 更多 >

    热门问题