首頁  >  文章  >  後端開發  >  python複雜列表生成式教程

python複雜列表生成式教程

PHPz
PHPz原創
2017-04-23 16:56:501936瀏覽

本文主要講解python列表產生式的實際運用實例!希望對初學者有幫助!

1、複雜的清單產生式HTML表格:

註:字串可以透過%進行格式,用指定的參數化取代%s。字串的join()方法可以把一list拼接成一個字串。

把沒有幾個的分數標記為紅色:

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
def generate_tr(name , score):
    if score < 60
    return '%s%s</td;/td>%s</td>/td; ;/tr>' % (name, score)
return '%s%s' % (name,gt;%s' % (name, score)
tds = [generate_tr(name, score) for name, score in d.iteritems()]
print '

'
print ''
print '\n'.join(tds)
print '
NameScore
'

2、條件過濾

列表生成式的for循環後面還可以加上if判斷:

把list中的所有字串變成大寫後返回,非字串元素將被忽略

提示:

1、isintance(x,str)可以判斷變數x是否是字串

2、字串的upper()方法可以傳回大寫字母

def toUppers(L):
    return [x.upper() for x in L if isinstance(x,str)]

#print toUppers(['Hello', 'world', 101])

3、多層表達式

for迴圈可以嵌套,因此在列表產生式中,可以可以用多層for迴圈來產生列表

如:對字串'ABC'和'123',可以使用兩層村換,產生全排列

[n+m for m in 'ABC' for n in '123']

練習:利用三層巢狀for循環,找出對稱的3位數如121

print [100*m+10*n+m for m in range(1,10) for n in range (0,10)]

L=[]
for x in range(1,10):
    for y in range(10):
        for z in range(1,10):
            if x==z :
             ,1 

Python線上影片教學

以上是python複雜列表生成式教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn