使用for迴圈的迭代不僅可以迭代普通的list,還可以迭代dict。
假設有如下的dict:
d =完全可以通過乙個複雜的列表生成式把它變成乙個 html **:
tds = ['%s注:字串可以通過 % 進行格式化,用指定的引數替代%s。字串的join()方法可以把乙個 list 拼接成乙個字串。%s' % (name, score) for name, score in d.iteritems()]
print ''
print 'name
score
'print '\n'.join(tds)
print ''
把列印出來的結果儲存為乙個html檔案,就可以在瀏覽器中看到效果了:
namescore
lisa
85adam
95bart
59
在生成的**中,對於沒有及格的同學,請把分數標記為紅色。
?不會了怎麼辦
如果我們用乙個函式來替換字串的格式化**,可以得到更清晰的**:
def generate_tr(name, score):這樣,只需要修改 generate_tr() 函式,必要的時候把score標紅。return '%s
%s' % (name, score)
tds = [generate_tr(name, score) for name, score in d.iteritems()]
參考**:
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...
複雜表示式
使用for迴圈的迭代不僅可以迭代普通的list,還可以迭代dict。假設有如下的dict d 完全可以通過乙個複雜的列表生成式把它變成乙個 html tds s s name,score forname,score ind.iteritems print print name score print...
python 正規表示式複雜用法
關於貪婪和非貪婪,貪婪匹配的意思是,在同乙個匹配項中,盡量匹配更多所搜尋的字元,非貪婪則相反。正則匹配的預設模式是貪婪模式,當?號跟在如下限制符後面時,使用非貪婪模式 如正規表示式 s c 匹配字串aaaacaaaaaaac的結果是aaaacaaaaaaac,而 s c則會優先匹配aaaac 有時候...