python生成有条件的列表_python复杂列表生成式教程
本文主要講解python列表生成式的實際運用實例!希望對初學者有幫助!
1、復雜的列表生成式HTML表格:
注:字符串可以通過%進行格式,用指定的參數化代替%s。字符串的join()方法可以把一list拼接成一個字符串。
把沒有幾個的分數標記為紅色:
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
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 '
NameScore'print '\n'.join(tds)
print '
'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 :
L.append(100*x+10*y+z)
print L
課程推薦:
Python在線視頻教程
總結
以上是生活随笔為你收集整理的python生成有条件的列表_python复杂列表生成式教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求一个超好听的男孩名字!
- 下一篇: mysql h 127.0.0.1_My