d= {'add1':'','add2':'address2','add3':'' }

我想将所有值合并为逗号分隔的单词列表。
如果dd= {'add1':'','add2':'address2','add3':'' }
然后输出将address2
if d is d= {'add1':'address1','add2':'address2','add3':'' }
然后输出将address1,address2
如果dd= {'add1':'address1','add2':'address2','add3':'address3' }
then output would be address1,address2,address3
如果dd= {'add1':'','add2':'','add3':'' }
然后输出将是''(简单的空字符串)

",".join([d.get('add1',''), d.get('add2',''), d.get('add3','')])

但我没有得到我期望的产出。

最佳答案

如果你不需要担心订单

','.join(value for value in d.itervalues() if value)

如果你的钥匙总是加1等,它们将很容易排序,以确保秩序
','.join(d[key] for key in sorted(d.keys()) if d[key])

10-08 04:10