将字典转换为字符串

时间:2018-04-06 13:02:36

标签: python python-3.x dictionary

d={'a':'Apple','b':'ball','c':'cat'}

我上面的字典,我希望我的输出像下面提到的结果

res="a=Apple,b=ball,c=cat"

是否有可能以pythonic的方式然后请回答它我尝试了各种方法,但没有获得所需的输出?

3 个答案:

答案 0 :(得分:2)

将您的字典作为键/值对(dict.items())阅读,然后将它们格式化为您喜欢的字符串:

d = {'a': 'Apple', 'b': 'ball', 'c': 'cat'}

res = ",".join(("{}={}".format(*i) for i in d.items()))  # a=Apple,c=cat,b=ball

dict无法保证订单,如果订单很重要,请使用collections.OrderedDict()

答案 1 :(得分:0)

一种方法是通过dict.items进行迭代并使用多个str.join来电。

d = {'a':'Apple','b':'ball','c':'cat'}

res = ','.join(['='.join(i) for i in d.items()])

# 'a=Apple,b=ball,c=cat'

如果您需要按键排序的商品,请使用sorted(d.items())

答案 2 :(得分:0)

def format_dict(d):
    vals = list(d.values())
    return "={},".join(d.keys()).format(*vals) + "={}".format(vals[-1])

d = {'a': 'Apple', 'b': 'ball', 'c': 'cat'}
format_dict(d)  # -> 'a=Apple,b=ball,c=cat'

这会将所有键连接到一个包含替换字段的大字符串中,然后我们将dict值格式化为args。没有尾随替换字段,因此我们将字典中的最后一个值连接到我们的大字符串。