Python 複雜表示式

2021-09-02 08:40:47 字數 1222 閱讀 4438

使用for迴圈的迭代不僅可以迭代普通的list,還可以迭代dict。

假設有如下的dict:

d =
完全可以通過乙個複雜的列表生成式把它變成乙個 html **:

tds = ['%s

%s' % (name, score) for name, score in d.iteritems()]

print ''

print 'name

score

'print '\n'.join(tds)

print ''

注:字串可以通過 % 進行格式化,用指定的引數替代%s。字串的join()方法可以把乙個 list 拼接成乙個字串。

把列印出來的結果儲存為乙個html檔案,就可以在瀏覽器中看到效果了:

name

score

lisa

85adam

95bart

59

在生成的**中,對於沒有及格的同學,請把分數標記為紅色。

?不會了怎麼辦

如果我們用乙個函式來替換字串的格式化**,可以得到更清晰的**:

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...

複雜表示式

使用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 有時候...