python:如何使用python 2.6将Dictionary键和值输出为以下样式?

时间:2012-03-16 15:22:55

标签: python dictionary csstidy

args =[]
csstidy_opts = {
    '--allow_html_in_templates':False,
    '--compress_colors':False,
    '--compress_font-weight':False,
    '--discard_invalid_properties':False,
    '--lowercase_s':false,
    '--preserve_css':false,
    '--remove_bslash':false,
    '--remove_last_;':false,
    '--silent':False,
    '--sort_properties':false,
    '--sort_selectors':False,
    '--timestamp':False,
    '--merge_selectors':2,  
}
for key value in csstidy_opts.item():
   args.append(key)
   args.append(':')
   args.append(value)

我想输出字符串如下:

“ - allow_html_in_templates = false --compress_colors = false ...”

如果我添加条件,该怎么做:

如果值为false,则键和值不会输出到字符串中(只输出ture键和其他键)

2 个答案:

答案 0 :(得分:4)

我将如何做到这一点:

" ".join("%s=%s" % (k, v) for k, v in csstidy_opts.iteritems() if v is not False)

不确定仅输出“ture key”的含义是什么,但这不会输出输入字典中设置为False的内容。

编辑:

如果你需要将参数放入args中,你可以做一些非常相似的事情:

args = ["%s=%s" % (k, v) for k, v in csstidy_opts.iteritems() if v is not False]

答案 1 :(得分:0)

你可以这样做:

csstidy_opts = {
    '--allow_html_in_templates':False,
    '--compress_colors':False,
    '--compress_font-weight':False,
    '--discard_invalid_properties':False,
    '--lowercase_s':False,
    '--preserve_css':False,
    '--remove_bslash':False,
    '--remove_last_;':False,
    '--silent':False,
    '--sort_properties':False,
    '--sort_selectors':False,
    '--timestamp':False,
    '--merge_selectors':2,  
}

a = ""
for key,value in csstidy_opts.iteritems():    
    if value != False:
        a+=key+'='+str(value)+' '
 print a

输出

--merge_selectors=2

还要注意false必须为False