最近發(fā)現(xiàn)一個(gè)問(wèn)題,我們用python從數(shù)據(jù)庫(kù)里通過(guò)游標(biāo)cursor拿到的數(shù)據(jù),大部分可以看成二維列表,那么如果需要做一次處理,怎么做替換呢,這里記錄一個(gè)簡(jiǎn)單的方法,列表推導(dǎo)式,不用導(dǎo)入其他分析類的包。
記錄一個(gè)python列表推導(dǎo)式來(lái)替換二維數(shù)組里的元素的方法
假設(shè)有個(gè)二維list,list = [[1,2,0],[3,4,5],[0,6,7]]
現(xiàn)在要求把里面每個(gè)0替換成空字符串。那么如果寫(xiě)for循環(huán)的話

輸出結(jié)果是

是不是覺(jué)得太繁雜了,其實(shí)列表推導(dǎo)式可以做到,而且非常簡(jiǎn)單,那么演示一下
list = [[1,2,0],[3,4,5],[0,6,7]]
list_temp = [['' if x[i] == 0 else x[i] for i in range(len(x)) ] for x in list ]

好了完事,是不是很快,這里介紹一下列表解析式的執(zhí)行順序,

其實(shí)還有更簡(jiǎn)單的方法,比如利用numpy,pandas包的數(shù)據(jù)結(jié)構(gòu)series等,只不過(guò)這里實(shí)現(xiàn)的是列表推導(dǎo)式。