列表推導(dǎo)式可以幫助我們筒化傳統(tǒng)的循環(huán)代碼倦西,看下面的例子:
time_zones=[rec['tz'] for rec in records]
這里勃救,records是一組記錄;其中的每一條記錄都有tz字段钳踊,我們需要遍歷每條記錄提取其中的tz字段的值资溃,將它們存在一個新的列表time_zones中;在不使用列表推導(dǎo)式的情況下鳖悠,我們不得不使用循環(huán)
for rec in records{
? ? time_zones.append(rec['tz'])
}
現(xiàn)在有了列表推導(dǎo)式榜掌,就可以直接用一條語句解決問題;更重要的是乘综,如果不是每條記錄都包含tz字段憎账,我們還可以在列表推導(dǎo)式中直接使用條件進行判斷,如下所示:
time_zones=[rec['tz'] for rec in records if 'tz' in rec]
由此可見卡辰,列表推導(dǎo)式使得代碼非常簡潔胞皱;