-1
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キーとその他のみを出力します)

4

2 に答える 2

4

これが私がそれをする方法です:

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

「turekey」のみを出力することの正確な意味はわかりませんが、入力辞書でFalseに設定されているものは出力されません。

編集:

引数を引数に入れる必要がある場合は、非常によく似た操作を行うことができます。

args = ["%s=%s" % (k, v) for k, v in csstidy_opts.iteritems() if v is not False]
于 2012-03-16T15:37:47.557 に答える
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である必要があることに注意してください

于 2012-03-16T15:45:50.323 に答える