使用for迴圈的迭代不僅可以迭代普通的list,還可以迭代dict。
假設有如下的dict:
d =
完全可以通過乙個複雜的列表生成式把它變成乙個 html **:
tds = ['%s
%s'
%(name, score)
forname, score
ind.iteritems()]
print ''
print 'name
score
'print '\n'.join(tds)
print ''
注:
字串可以通過
% 進行格式化,用指定的引數替代
%s
。字串的
join()
方法可以把乙個 list 拼接成乙個字串。
把列印出來的結果儲存為乙個html檔案,就可以在瀏覽器中看到效果了:
任務在生成的**中,對於沒有及格的同學,請把分數標記為紅色。
紅色可以用 實現。
如果我們用乙個函式來替換字串的格式化**,可以得到更清晰的**:
def generate_tr(name, score):
return '%s
%s' % (name, score)
tds = [generate_tr(name, score) for name, score in d.iteritems()]
這樣,只需要修改 generate_tr() 函式,必要的時候把score標紅。
參考**:
d =
def generate_tr(name, score):
if score < 60:
return '%s
%s' % (name, score)
return '%s
%s' % (name, score)
tds = [generate_tr(name, score) for name, score in d.iteritems()]
print ''
print 'name
score
'print '\n'.join(tds)
print ''
python 複雜表示式
使用for迴圈的迭代不僅可以迭代普通的list,還可以迭代dict。假設有如下的dict d 完全可以通過乙個複雜的列表生成式把它變成乙個 html tds s s name,score for name,score in d.iteritems print print name score pri...
Python 複雜表示式
使用for迴圈的迭代不僅可以迭代普通的list,還可以迭代dict。假設有如下的dict d 完全可以通過乙個複雜的列表生成式把它變成乙個 html tds s s name,score for name,score in d.iteritems print print name score pri...
複雜表示式的執行步驟
近日在csdn上閒逛的時候,注意到乙個帖子 strdest strsrc 0 哪兒前輩可以解釋下裡面具體執行的步驟呢?對於這樣的表示式,我們通常會有這樣三種看法 1.這種寫法不但沒有錯誤 當然也沒有bug 而且寫法緊湊。2.這種寫法雖然沒有錯誤,但是不夠直觀,理解起來有點麻煩,可能還會導致理解錯誤。...